Microsoft SQL Server Utilizzo Partecipa a un aggiornamento


Esempio

I join possono anche essere utilizzati in un'istruzione UPDATE :

CREATE TABLE Users (
    UserId int NOT NULL,
    AccountId int NOT NULL,
    RealName nvarchar(200) NOT NULL
)

CREATE TABLE Preferences (
    UserId int NOT NULL,
    SomeSetting bit NOT NULL
)

Aggiorna la colonna SomeSetting del filtro delle tabelle delle Preferences base a un predicato sulla tabella Users come segue:

UPDATE p
SET p.SomeSetting = 1
FROM Users u
JOIN Preferences p ON u.UserId = p.UserId
WHERE u.AccountId = 1234

p è un alias per le Preferences definite nella clausola FROM dell'istruzione. Verranno aggiornate solo le righe con un AccountId corrispondente dalla tabella Users .

Aggiorna con dichiarazioni di outer outer a sinistra

Update t 
SET  t.Column1=100
FROM Table1 t LEFT JOIN Table12 t2 
ON t2.ID=t.ID

Aggiorna tabelle con join interno e funzione di aggregazione

UPDATE t1
SET t1.field1 = t2.field2Sum
FROM table1 t1
INNER JOIN (select field3, sum(field2) as field2Sum
from table2
group by field3) as t2
on t2.field3 = t1.field3