join im join

südpol

Erfahrenes Mitglied
Hi zusammen!

ich habe ein "kleines" SQL Problem das wie folgt aussieht (auf das wesentliche vereinfacht :)):

3 Tabellen
tab1 -> Daten
tab2 -> relation (Beziehungstabelle)
tab3 -> Daten

So ich würde nun gerne eine Abfrage aufbauen, die alle Daten von tab1 zurück gibt. Im gleichen query sollte jedoch auch stehen, dass er Felder von tab3 einfügt wenn tab1 mit tab2 über die tab3 verbunden ist. Ansonsten soll er die spalten leer lassen.

Als DB verwende ich oracle.

Beispiel:
Code:
SELECT 
  A.test1, A.test2, C.test3
FROM
  tab1 A LEFT JOIN tab2 ON A.tabindex = B.tabindex,
  tab2 B LEFT JOIN tab3 ON B.tabindex2 = C.tabindex2
WHERE
  A.blub = blub

Dieser Join funtkionert nur leider nicht so ganz der zweite left join sollte denke ich auch keiner sein leider kenne ich keinen besseren. Kann mir hier jemand helfen?

Gruß
 
Mit Oracle-SQL-Spezialitäten kenne ich mich nicht so aus, nach Ansi-SQL müßte es meines Wissens so lauten:
Code:
SELECT 
  A.test1, A.test2, C.test3
FROM tab1 A 
LEFT JOIN tab2 B ON A.tabindex = B.tabindex
LEFT JOIN tab3 C ON B.tabindex2 = C.tabindex2
WHERE
  A.blub = blub
So ist es auch in MySQL, ich kann mir kaum vorstellen, dass Oracle das anders macht.

Gruß hpvw
 
Zurück