Robbin: Ergebnisse aus zwei unterschiedlichen Tabellen nach Datum ordnen

Hallo,

ich arbeite mit MySQL und PHP und habe folgendes Problem:

Es gibt zwei Tabellen mit sehr unterschiedlichen Spalten die jeweils einen Primary Key haben. Jetzt möchte ich die jeweiligen ids mit einer anderen Tabelle verbinden. Beispiel:

tabelle1
    id
    date
    ...
tabelle2
    id
    date
    ...

relation_tabelle3
    tabelle1_id/tabelle2_id
    tabelle3_id

tabelle3
    id
    ...

Wie beschrieben geht es ja schonmal nicht, da man durch die erste Spalte von "relation_tabelle3" nicht weiß woher jetzt die id kommt. Also könnte man die Tabelle editieren:

relation_tabelle3
    tabellen_type
    tabellen_id
    tabelle3_id

Ich möchte jetzt alle Einträge von Tabelle 1 und 2 erhalten, die eine Verbindung mit Tabelle 3 haben. Das Problem ist, dass ich die Ergebnisse nicht sortiert nach den Tabellen haben will sondern beide Tabellen in einem Ergebnis nach den "date" also Erstelldatum sortiert sein sollten. Die Tabellen können aber nicht einzelt ausgelesen werden und dann mit PHP sortiert werden, da die Datenmengen sehr hoch sein werden und somit immer nur die Ergebnisse in Seiten eingeteilt sind.

Jetzt frag ich mich wie ich die Tabellen verändern muss damit ich das performant lösen kann.

  1. Hallo,

    Auch Hallo?

    Jetzt frag ich mich wie ich die Tabellen verändern muss damit ich das performant lösen kann.

    Wie löst du das denn bislang?
    [ ] mit PHP
    [ [ noch gar nicht

    Wenn du das mit SQL lösen willst, dann hab ich da mal ein Stichwort für dich:

    UNION [ALL]

    etwas pseudo-code:

    select felder from relationentabelle join tabelle1 on tabellenid/tabellentyp join tabelle3
    union all
    select felder from relationentabelle join tabelle2 on tabellenid/tabellentyp join tabelle3

    Ciao, Frank