はじめに
SQL ServerでUPDATE文を書くときに、他のテーブルと結合して更新対象のレコードを絞りたい時があると思う。よく使用するのだがJOINや別名の位置を毎回忘れてしまうので、備忘録として残しておく。
書き方
SQL Serverの場合は下記でOK。他のDBだとJOIN方法から違ったりするので要注意。
UPDATE b
SET
b.[item] = 1
FROM
[dbo].[tableB] AS b
INNER JOIN [dbo].[tableA] AS a
ON b.[ID] = a.[ID]
AND a.[num] = 1;
終わりに
DBごとにSQLが微妙に変わるのがめんどすぎる...