Hallo,
ich habe (verkürztes Beispiel) zwei Tabellen "Fahrer" und "Auto" sowie eine Relation "FahrerAuto".
"Auto":
ID | Name
---------
1 | Audi
2 | Benz
3 | BMW
4 | VW
"Fahrer"
ID | Name
---------
1 | Müller
2 | Meier
"FahrerAuto"
FahrerID | AutoID
-----------------
1 | 1
1 | 2
2 | 2
2 | 3
Nun möchte ich alle Autos angezeigt bekommen, die der Fahrer 1 (Müller) nocht nicht fährt. Das ist hier Auto 3(BMW) und Auto 4(VW).
Mein Versuch war:
SELECT Auto.Name FROM Auto LEFT JOIN FahrerAuto ON Auto.ID = FahrerAuto.AutoID WHERE FahrerAuto.FahrerID != 1 OR FahrerAuto.AutoID IS NULL
ohne 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.
Meine anderen Versuche sind bislang auch gescheitert. Kennt jemand eine Lösung?
Matthias