Uhfe: Left Join oder was?

Hallo,

ich möchte aus einer Datenbank eine Abfrage machen. Und zwar müssten aus drei Tabellen alle Zeilen ausgelesen werden die verschiedenen Bedingungen entsprechen und aus einer vierten alle Zeilen die den Bedingungen entsprechen (zusätzlich kommen noch ein paar andere Bedingungen hinzu). Wenn keine Einträge in der vierten Tabelle vorhanden sind, die den Bedinungen entsprechen, dann soll ein NULL in die entsprechenden Felder kommen. Soweit so klar?

Kann ich das mit einem Left outer Join machen?

Mir schwebt da vor
"select (a.a, b.b, c.c on a_id = b_id and a_id = c_id) left outer Join d.d where a_id = d_id and d_day = friday"

geht das?

Wenn nicht kann mir jemand einen Tip geben wie man das prinzipiell angehen kann?

Wäre nett!

Grüße

Uhfe

  1. Hallo Uhfe,

    Kann ich das mit einem Left outer Join machen?

    "select (a.a, b.b, c.c on a_id = b_id and a_id = c_id) left outer Join d.d where a_id = d_id and d_day = friday"

    Es geht, jedoch nicht mit diesem konfusen SQL-String.

    Probier mal:

    select a.a,b.b,c.c,d.d from c inner join (b inner join (a left join d on a.id=d.id) on a.id=b.id) on a.id=c.id where d.day='friday'

    Gruß Ralf

    1. Hai Ralf,

      kann man grundsätzlich sagen, dass sich das ON auf den Join bezieht und Where eher global zu sehen ist?

      Finde im Netz irgendwie nix über den Unterschied zwischen ON und WHERE. Bin auch für Links dankbar. Benutze MSSQL, sollte aber doch bei den meisten DB-Systemen ähnlich sein, oder?

      Grüße

      Uhfe