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'
    

Anmelden zum Antworten