lunedì 28 marzo 2022

Cancellazione (o Update) di record di una tabella in join con un'altra in MySql

DELETE T1 
FROM T1
        LEFT JOIN
    T2 ON T1.key = T2.key 
WHERE
    T2.key IS NULL


Una variante per l'update ha questa sintassi
UPDATE  T1 
        LEFT JOIN
    T2 ON T1.key = T2.key 
SET T1.campo=T2.campo
WHERE
    T2.key IS NULL

Questa variante permette di utilizzare la tabella T1 all'interno dell'eventuale subquery T2

esempio:
UPDATE T1 INNER JOIN
(SELECT CAMPO FROM T1 WHERE T1.CONDIZIONE ) T2 ON T1.KEY=T2.KEY
SET T1.CAMPO=T2.CAMPO
WHERE T1.CONDIZIONE

Thanks Elson Ferhati 

Nessun commento:

Posta un commento