werbeklaus: Join-Problem

Beitrag lesen

Hallo,

Bei einem normalen Join bekomme ich Einträge aus tab1 nur, wenn es auch einen passenden aus tab2 gibt.
Ja, aber um dies zu ändern, gibt es OUTER JOINS, wie z.B. LEFT JOIN und RIGHT JOIN.

Okay, ist das denn die einzige Aufgabe eines LEFT JOINS?
Nagut, aber auf jeden Fall haut das so schonmal hin.

Das Beste, was Du mit einem

SELECT tab1.id, tab2.content
FROM tab1 LEFT JOIN tab2 ON tab1.id = tab2.tab1_id;

erhalten kannst, ist:

tab1.id | tab2.content
1       | 13
1       | 14
2       | 12
3       | null
4       | 12
4       | 11
5       | null

Das habe ich auch schon herausgefunden :-)

Daraus
id | content | content
1  | 13      | 14
2  | 12      |
3  |         |
4  | 12      | 11
5  |         |

zu machen, muss Deine auswertende Programmlogik leisten, denn, wie Du siehst, ist das keine eindeutig zweidimensionale Darstellung mehr.

Das habe ich befürchtet....
Nun gut, in PHP dürfte das ja nicht soo schwer sein. Wenn ich das Ergebnis durchlaufe und dann abfrage: Hat sich die ID im Vergleich zum letzten Durchlauf geändert?
Dann kann ich ja den neuen content dem letzten Datensatz zuordnen oder eben nicht.

Vielen Dank für die Hilfe!

werbeklaus