title image


Smiley Löschen von Datensätzen ohne Entsprechung in einer Verknüpfungstabelle
Hallo,



gegeben sind zwei in einer M:N Beziehung miteinander stehende Tabellen.

Aufgrund eines Fehlers wurden nur in der einen Tabelle - der untergeordneten - Datensätze gelöscht. Wie kann ich in einem SQL Statement ausdrücken: Lösche mir alle Datensätze der übergeordneten Tabelle, für die in der untergeordneten Tabelle keine Entsprechungen vorkommen?



Probiert habe ich folgendes:



DELETE tblObjects

FROM tblObjects

LEFT OUTER JOIN tblObjects_tblFolders

ON tblObjects.tblObjectsID = tblObjects_tblFolders.tblObjectsID

WHERE tblObjects_tblFoldersID = NULL



Das funktioniert aber nicht, da die Einschränkungen über die WHERE Klausel dafür sorgt, dass überhaupt keine Ergebnisse zurückkommen. Getestet an folgender SELECT Klausel:



SELECT * FROM tblObjects

LEFT OUTER JOIN tblObjects_tblFolders

ON tblObjects.tblObjectsID = tblObjects_tblFolders.tblObjectsID

WHERE tblObjects.tblObjectsID = NULL



Wenn man hier nämlich die WHERE-Klausel weglässt, werden alle Rows zurückgegeben.



Viele Grüße

Lars



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: