MSSQL Delete mit Join
-
Hallo zusammen,
ich würde gerne aus folgender Abfrage, eine DELETE-Anweisung machen. Leider brauche ich das in einer einzelnen Abfrage, sonst wärs ja kein Thema:
SELECT *
FROM Objekte LEFT OUTER JOIN
Kennzeichen_Objekte ON Objekte.ID = Kennzeichen_Objekte.Objekt
WHERE (Kennzeichen_Objekte.Kennzeichen_ID <> 11 AND Kennzeichen_Objekte.Kennzeichen_ID <> 12) AND Objekte.Gehoert_Zu = '944F4B7D-9E6C-4B68-AC07-0E897C19AC6E'Hat jemand eine Idee? Die Tabellen sind nicht miteinander verknüpft. Also es werden nicht automatisch alle Datensätze aus Kennzeichen_Objekte gelöscht wenn in Objekte etwas gelöscht wird, das möcht ich auch nicht. Einige sollen überbleiben.
Gruß
Sebastian
-
WENN du eine ID oder so hast dann ein SUBQUERY
DELETE FROM XY WHERE id = SELECT id FROM XC WHERE
-
Ich habs vor ner halben Stunde so hinbekommen:
DELETE FROM Objekte WHERE EXISTS (SELECT * FROM Objekte LEFT OUTER JOIN Kennzeichen_Objekte ON Objekte.ID = Kennzeichen_Objekte.Objekt WHERE (Kennzeichen_Objekte.Kennzeichen_ID <> 11 AND Kennzeichen_Objekte.Kennzeichen_ID <> 12) AND Objekte.Gehoert_Zu = '944F4B7D-9E6C-4B68-AC07-0E897C19AC6E') AND Objekte.Gehoert_zu = '944F4B7D-9E6C-4B68-AC07-0E897C19AC6E'