Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Requête de mise à jour SQL à l'aide de jointures

UPDATE im
SET mf_item_number = gm.SKU --etc
FROM item_master im
JOIN group_master gm
    ON im.sku = gm.sku 
JOIN Manufacturer_Master mm
    ON gm.ManufacturerID = mm.ManufacturerID
WHERE im.mf_item_number like 'STA%' AND
      gm.manufacturerID = 34

Pour que ce soit clair... La UPDATE La clause peut faire référence à un alias de table spécifié dans le FROM clause. Alors im dans ce cas est valide

Exemple générique

UPDATE A
SET foo = B.bar
FROM TableA A
JOIN TableB B
    ON A.col1 = B.colx
WHERE ...