Tsql 更新用例并从不同的表中选择
我正在尝试执行SQL更新,其中我希望根据第二个表中的值设置要更新的列的值。下面的脚本显示了我正在尝试做的事情,但到目前为止我还没有找到正确的语法Tsql 更新用例并从不同的表中选择,tsql,Tsql,我正在尝试执行SQL更新,其中我希望根据第二个表中的值设置要更新的列的值。下面的脚本显示了我正在尝试做的事情,但到目前为止我还没有找到正确的语法 update sometable set name = case when (select newid from lookuptable where oldid = name) <> null then newid else name end 不需要合并或外部联接,因为您只对更新匹配的行感兴趣 此外,在将值与nul
update sometable set name =
case
when (select newid from lookuptable where oldid = name) <> null then newid
else name
end
不需要合并或外部联接,因为您只对更新匹配的行感兴趣
此外,在将值与null进行比较时,应始终使用X为null或X不为null,而不是X=null或X为null,因为对于null值,等式和不等式运算符总是返回false
UPDATE T
SET
T.name = L.newid
FROM sometable T
INNER JOIN lookuptable L
ON L.oldid = T.name