View Full Version : SQL Sätze löschen, wenn nicht in Datei vorhanden
programmer400
06-06-16, 17:31
Hab in diesem Forum einmal einen Eintrag über SQL gefunden, mit dem man Datensätze in einer Datei löschen kann, wenn diese in der zweiten Datei nicht vorhanden sind (Verküpfung über Schlüsselfeld).
Ich kann diesen Eintrag leider nicht mehr finden.
Bitte um Hilfe.
andreaspr@aon.at
06-06-16, 19:23
Meinst du sowas?
Delete from Tab1
Where Tab1.id not in (Select Tab2.id From Tab2)
Oder wenn der Satz automatisch gelöscht werden soll:
Create Table Tab1 ... ON DELETE CASCADE
lg Andreas
Das müsste wie folgt gehen
Delete from File1
where not exists (Select * from file2 where file1.key1 = file2.key1 and file1.key2 = file2.key2 ....)
Gruß
Ronald
Beide Varianten sind korrekt.
not in (select....) <= erfordert keinen Index und könnte bei kleineren Tabellen schneller sein
[not] exists (select ...) <= ist am schnellsten mt einem Index.
programmer400
06-06-16, 20:45
Super, Danke für die Hilfe, hat mir viel weitergeholfen.
Schönen Abend noch.