SQL Delete aller Zeilen einer Seiten eines Joins

WinKill

Lt. Junior Grade
Registriert
Mai 2007
Beiträge
297
Hallo,

ich stehe gerade am Schlauch.

Ich habe dieses SQL Statement.

Select *
FROM table1 as t1 inner join table2 as t2 on t1.A = t2.a AND t1.B = t2.B And t1.C = T2.B
WHERE t1.Z = 0 and t2.Z = null

Und möchte jetzt von dem Ergebnis alle Zeilen aus T2 löschen.

Eindeutig identifizeiren kann man eine Zeile über die Spalten A, B, C und Z (einzelne Spalten genügen nicht).

Wie bekomme ich einen Delete auf genau die gewünschten Zeilen?

Ich habs mit subselects versucht aber mich verrannt. Wie bekomme ich den zusammengesetzten Primärschlüssel hier in ein delete?

Viele Grüße
Winni
 
Code:
DELETE * FROM table2 AS t2
INNER JOIN table1 AS t1 ON t1.A = t2.a AND t1.B = t2.B AND t1.C = T2.B
WHERE t1.Z = 0 AND t2.Z = null

einfach DELETE statt SELECT und table2 anstatt table1
 
Hallo,

es war nicht ganz korrekt aber hat mich auf die richtige Spur gebracht. Eine kleine Änderung war noch nötig, man muss angeben welche Tabelle betroffen sein soll:

Code:
DELETE t2 FROM table2 AS t2
INNER JOIN table1 AS t1 ON t1.A = t2.a AND t1.B = t2.B AND t1.C = T2.B
WHERE t1.Z = 0 AND t2.Z = null

Vielen Dank!

Viele Grüße
Winni
 
Zurück
Oben