Abfrage formulieren, alles aus Tab1, was nicht in Tab2 und 3
Knud Schröder
- datenbank
Hallo!
Ich möchte eine Abfrage (MySQL) formulieren, die mir alle die Einträge aus der Tabelle 1 rauswirft, die weder in Tabelle 2 noch in Tabelle 3 zu finden sind.
Leider hab ich keinen blassen Schimmer, wie ich das anstellen könnte.
Ich hab mal vor ziemlich langer Zeit sowas in der mysql-reference gefunden, aber ich finds einfach nicht wieder!
Weiß auch nicht so genau, wie ich danach suchen soll.
Vielleicht kann mir einer von Euch (auf die Schnelle) einen Ansatz geben oder wo ich was zum Problem finden kann.
Gibt es nicht irgendwo eine Auflistung der praktischsten und häufigsten Abfragen, anch dem Prinzip Problem, Lösung?
Gerade mit Abfragen über mehr als eine Tabelle tue ich mich noch recht schwer.
Mit freundlichem Gruß,
Knud
P.S. dies ist mein 2. Versuch. Der erste ist trotz Abschicken irgendwo im Nirwana gelandet?!
Hoi,
Ich möchte eine Abfrage (MySQL) formulieren, die mir alle die
Einträge aus der Tabelle 1 rauswirft, die weder in Tabelle 2 noch
in Tabelle 3 zu finden sind.
Leider hab ich keinen blassen Schimmer, wie ich das anstellen
könnte.
Mit einem LEFT JOIN:
SELECT
tab1.*
FROM
tab1
LEFT JOIN
tab2
ON
tab1.id = tab2.id
LEFT JOIN
tab3
ON
tab3.id = tab1.id
WHERE
ISNULL(tab2.id)
AND
ISNULL(tab3.id)
Ich hab mal vor ziemlich langer Zeit sowas in der mysql-reference
gefunden, aber ich finds einfach nicht wieder!
Weiß auch nicht so genau, wie ich danach suchen soll.
Gruesse,
CK
Hi,
danke für die schnelle Antwort. Hat auch prompt funktionert!
Den Link hatte ich schon gefunden und auch schon die Reference heruntergeladen aber dort nochmal das Beispiel zu finden, dass auf nicht vorhandensein von Sätzen überprüft, das war mein Prob.
Nochmals danke für die Hilfe! Ich werd versuchen, mir diese Left join - Geschichte nochmal reinzuziehen und auch noch das isnull.
Gruß,
Knud