Hallo,
Ich habe 2 Tabellen, in der Tabelle A stehen Adressen mit einer eindeutigen "firmenid" (Prmärschlüssel) drin. Die andere Tabelle B enthält "firmenid" als Fremdschlüssel (Bezugsschlüssel). Nun sollen alle Datensätze aus der Tabelle B gelöscht werden, dessen "firmenid" nicht in der Tabelle A zu finden ist.
=> Wie mache ich das am besten? Muss ich mit einem SELECT und einer while-Schleife einfach alle Datensätze aus Tabelle B einzeln durchgehen, nachschauen ob es in der Tabelle A einen Datensatz mit der firmenid gibt, wenn nicht dann eben den Datensatz aus Tabelle B löschen.
=> Oder kann ich das mit einem raffinierten JOIN lösen. Ich meine JOINE alle Datensätze von Tabelle A mit Tabelle B (LEFT JOIN?, RIGHT JOIN?), alles was übrig bleibt, also alle Datensätze aus Tabelle B die kein Pendant in Tabelle A haben, rauslöschen. Geht das? Wenn ja, wie? JOINS sagen mir schon etwas, allerdings wüsste ich nicht wie man nicht gejointe Datensätze löscht...
Die Frage knüpft hier an einen anderen Thread mit dem Subject "Mit Left Join löschen" an.
Besten Dank.