MySQL, falsche aus zweiter Tabelle löschen/ändern

xrax

Erfahrenes Mitglied
Hall zusammen,

kaum kommt SQL, blick ichs nimmer.

Ich habe zwei Tabellen.
Bei der einen brauche ich folgendes als Datensatz:
Code:
SELECT CONCAT(S1_1,S2_1) as key1,S3_1 FROM Tab_1
WHERE  S2_1
IN (
SELECT DISTINCT S2_2
FROM Tab_2
)

Bei der anderen brauch ich dies:
Code:
SELECT CONCAT(S1_2,S2_2) as key2,S3_2 FROM Tab_2

Und jetzt möchte ich das immer wenn für key1=key2 und dabei S3_1!=S3_2 ist dieser Datensatz aus Tab_2 gelöscht wird.
Noch besser wäre wenn S3_2 mit dem Wert aus S3_1 upgadated wird.
S3_1 ist PK in Tab_1.

Kann mit dabei jemand helfen ?

Danke
xrax
 
Delete
SQL:
DELETE
	tab_2
FROM
	tab_1 t1,
	tab_2 t2
WHERE
	-- Key-Vergleich
	t1.s1_1 = t2.s1_2
	AND t1.s2_1 = t2.s2_2
	-- ungleiche s3
	AND t1.s3_1 != t2.s3_2

Und der Update
SQL:
UPDATE 
	tab_1 t1,
	tab_2 t2
SET
	t2.s3_2 = t1.s3_1	
WHERE
	-- Key-Vergleich
	t1.s1_1 = t2.s1_2
	AND t1.s2_1 = t2.s2_2
	-- ungleiche s3
	AND t1.s3_1 != t2.s3_2

Beides ungetestet
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück