2つの表を比較してキーが一致する行をUPDATEする(UPDATE ~ SELECT)
文書番号:20263
「テーブルB」をSELECTした結果で「テーブルA」をUPDATEするSQLです。
2つの表「テーブルA」と「テーブルB」を比較し、キーが一致する「テーブルA」の行の値を「テーブルB」の値でUPDATEします。
【SQL】
UPDATE TABLEA
SET TABLEA.COLUMN2 = (SELECT TABLEB.COLUMN2
FROM TABLEB
WHERE TABLEB.COLUMN1 = TABLEA.COLUMN1
)
【サンプル】
「CODE」項目で比較し、「商品マスタ」のNAMEを「購入リスト」のNAMEでUPDATEします。
商品マスタ
|
購入リスト
|
→ |
商品マスタ
|
UPDATE 商品マスタ
SET 商品マスタ.NAME = (SELECT 購入リスト.NAME
FROM 購入リスト
WHERE 購入リスト.CODE = 商品マスタ.CODE
);
複数の列をUPDATEする場合
UPDATE 商品マスタ
SET (商品マスタ.NAME,商品マスタ.PRICE)
= (SELECT 購入リスト.NAME
,購入リスト.PRICE
FROM 購入リスト
WHERE 購入リスト.CODE = 商品マスタ.CODE
)