Knud Schröder: Abfrage formulieren, alles aus Tab1, was nicht in Tab2 und 3

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?!

  1. 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.

    Auf http://www.mysql.com/

    Gruesse,
     CK

    1. Hi,

      danke für die schnelle Antwort. Hat auch prompt funktionert!

      Auf http://www.mysql.com/

      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