3 つのテーブルの結合によって返される値でフィールドを更新する必要があります。
例:
select
im.itemid
,im.sku as iSku
,gm.SKU as GSKU
,mm.ManufacturerId as ManuId
,mm.ManufacturerName
,im.mf_item_number
,mm.ManufacturerID
from
item_master im, group_master gm, Manufacturer_Master mm
where
im.mf_item_number like 'STA%'
and im.sku=gm.sku
and gm.ManufacturerID = mm.ManufacturerID
and gm.manufacturerID=34
上記の条件で結合された他の値でmf_item_number
テーブルのフィールド値を更新したいと思います。item_master
MS SQL Server でこれを実行するにはどうすればよいですか?
ベストアンサー1
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
明確にするために...UPDATE
句は句で指定されたテーブルエイリアスを参照できますFROM
。したがってim
、この場合は有効です
一般的な例
UPDATE A
SET foo = B.bar
FROM TableA A
JOIN TableB B
ON A.col1 = B.colx
WHERE ...