SQL update query using joins

后端 未结 11 1984
天涯浪人
天涯浪人 2020-11-22 01:15

I have to update a field with a value which is returned by a join of 3 tables.

Example:

select
    im.itemid
    ,im.sku as iSku
    ,gm.SKU as GSKU         


        
11条回答
  •  执笔经年
    2020-11-22 01:38

    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
    

    To make it clear... The UPDATE clause can refer to an table alias specified in the FROM clause. So im in this case is valid

    Generic example

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

提交回复
热议问题