Gunther: Wie kann ich alle Datensätze in einer Tabelle B löschen,...

...die keine Entsprechung in einer anderen Tabelle A haben?

Also nochmal etwas genauer: Ich habe zwei mySQL-Tabellen (A + B) mit 1 gemeinsamen Feldnamen (z.B. 'kd_nr').
Jetzt möchte ich alle Datensätze in Tabelle B löschen, wenn sie in Tabelle A nicht mehr vorhanden sind.

Wäre jemand so nett, und würde mir mal die Befehlszeile notieren (ohne Verbindung zur DB usw.)?

Vielen Dank im voraus (für die freundliche Unterstützung von mySQL-Newbies)!

Gruß Gunther

  1. Hat sich erledigt!

    DELETE FROM TabelleB WHERE kd_nr NOT IN (SELECT kd_nr FROM TabelleA)

    Gruß Gunther

    1. Hi Gunther,

      DELETE FROM TabelleB WHERE kd_nr NOT IN (SELECT kd_nr FROM TabelleA)

      aha - ab welcher mySQL-Version kann das Teil doch gleich Subselects? (Nur so für's Archiv ...)

      Viele Grüße
            Michael

      --
      T'Pol: I meant no insult.
      V'Lar: Of course not. You're simply speaking your mind ... as you always have.