mySQL-Problem bei Join
Heinrich
- datenbank
Guten Tag,
ich habe verschiedene Seiten mit Beispielen gewälzt, aber ich bin bis jetzt noch nicht auf eine Lösung für Problem gestoßen, daher wollte die frage, ob mit jemand weiter helfen kann.
Der IST-Zustand:
tbl_Eigenschaften enthält u.A. die Felder Name und WertNbr.
lnk_Person_Eigenschaft enthält die Felder WertNbr und PersonenNbr.
Ich möchte nun für eine Person (mit der PersonenNbr 1) alle Eigenschaften (Name und WertNbr) ausgeben, die er NICHT hat.
Alle Beispiele und Versuche liefern mir aber immer die Eigenschaften zurück die er hat oder eine leere Menge. Ich habe jedoch geprüft, dass es wirklich Eigenschaften gibt, die die Person nicht hat.
Wie muss ich den Aufruf in mySQL formulieren um die geforderten Angaben zu erhalten?
Gruß,
Heinrich
Vielleicht gruppierst du erstmal die Datensätze, je Personen mit, und je ohne fehlende Datensätze (GROUP BY) ... und die lässt du dir dann Ausgeben ...
Hello,
Wie muss ich den Aufruf in mySQL formulieren um die geforderten Angaben zu erhalten?
da würde ich eher mit einem Subselect arbeiten wollen (liefere mit alle Datensätze die eine Nummer haben, die ich NICHT finde, wenn ich nach der Person suche):
SELECT name
FROM tbl_Eigenschaften
WHERE WertNbr NOT IN (
SELECT WertNbr
FROM lnk_Person_Eigenschaft
WHERE PersonenNbr = 1
)
MfG
Rouven
SELECT name
FROM tbl_Eigenschaften
WHERE WertNbr NOT IN (
SELECT WertNbr
FROM lnk_Person_Eigenschaft
WHERE PersonenNbr = 1
)
Vielen Dank.
Der Aufruf funktioniert. Mit Sub-Select hatte ich auch schon probiert, aber das es ein NOT IN gibt, war mit in Beispielen nicht begegnet.
Jetzt klappt es, super.