Ilja: Mysql abfrage

Beitrag lesen

yo,

select r.id, s.status, z.zustand, r.rart
from rad r, status s, zustand z, bolide b
where b.id = r.abladestelleid and s.id = r.statusid and z.id = r.zustandid

diese schreibweise der implizieten joins ist nicht ratsam, weil es sehr schwer zu lesen ist. besser ist es grundsätzlich und zwar immer die expliziete schreibeweise zu benutzen, um tabellen miteinander zu joinen. auch ist es ratsam schlüsselwörter in sql gross zu schreiben.

Nun ist es so das in meiner Haupttabelle nicht immer eine Abladestelleid vorhanden ist, ich möchte aber alle Datensätze erhalten und wenn eine Abladestelleid vorhanden ist soll sie durch den entsprechden Eintrag in der Tabelle "bolide" ersetzt werden.

dein freund nennt sich OUTER JOIN. das und was ich dir oben geschrieben habe ergibt sich folgende abfrage:

SELECT r.id, s.status, z.zustand, r.rart
FROM rad r
INNER JOIN status s ON s.id = r.statusid
INNER JOIN zustand z ON z.id = r.zustandid
LEFT JOIN bolide b ON b.id = r.abladestelleid
;

Ilja