Delete Statement
[ ruban.de ] [ Antworten ] [ Forum ]
Geschrieben von MATT on November 27, 2003 um 13:30:
Hallo, ich habe ein Problem mit einem SQL Statement, das unter mysql funktioniert, aber nicht unter DB2. Es geht um folgendes: Ich habe eine Tabelle documents und eine Tabelle attributes. Wenn ich ein Dokument in documents speichere, dann werden Attribute dazu in der attributes-Tabelle gespeichert. Beide Tabellen sind über eine Spalte docid verbunden, die in beiden Tabellen existiert. Jetzt mein Problem: Falls ein Dokument aus der Documents-Tabelle gelöscht wurde, möchte ich danach alle Attributes löschen, zu denen es keinen Eintrag in der Documents-Tabelle gibt. Unter mySQL funktioniert folgendes: DELETE db.attrcountry FROM db.attrcountry t2 LEFT JOIN db.documents t1 ON t2.docid=t1.docid WHERE t1.docid IS NULL Unter DB2 würde das funktionieren: (Allerdings gibt es unter mySql keine SubSelects) DELETE FROM DOCPILOT.ATTRCOUNTRY WHERE EXISTS( select t2.docid from docpilot.attrcountry as t2 left join docpilot.documents as t1 on t2.docid = t1.docid WHERE t1.docid IS NULL)
Gibt es ein Statement, das für beide Datenbanken funktioniert?
Kann mir da jemand helfen? Gruß MATT
Schreibe eine Antwort
|