Hi Matthias
Mein Versuch war:
SELECT Auto.Name FROM Auto LEFT JOIN FahrerAuto ON Auto.ID = FahrerAuto.AutoID WHERE FahrerAuto.FahrerID != 1 OR FahrerAuto.AutoID IS NULLohne die Bedingung " FahrerAuto.FahrerID != 1 OR " liefert mir mysql nur Auto 4 - weil das nicht in der Relation steht. Mit dieser Bedingung bekomme ich aber Auto 3, Auto 4 UND Auto 2 (welches ich aber nicht will) - weil Fahrer 2 dieses Auto fährt.
Das müsste klappen (ungetestet):
SELECT Auto.Name
FROM Auto
LEFT JOIN FahrerAuto
ON (Auto.ID = FahrerAuto.AutoID
AND FahrerAuto.FahrerID = 1)
WHERE FahrerAuto.FahrerID IS NULL
FahrerAuto.FahrerID = 1 muss in die Join-Klausel mit rein, damit nur solche verbunden werden und du für alle anderen NULL kriegst, sonst passiert genau das was dein Problem war.
Gruss Daniela
Nein, wir frieren unsere Hühner nicht auf Gletschern fest.
Selfcode: sh:) fo:) ch:) rl:) br:> n4:| ie:{ mo:) va:) de:] zu:} fl:( ss:) ls:&