更新SQL查询集

时间:2017-10-05 20:21:35

标签: sql sql-server ssis

UPDATE tab1
SET col = 1
FROM tab1
LEFT JOIN tab2 ON tab2.ID = tab1.ID
WHERE tab2.ID IS NULL

我在哪里将ELSE col = 0放在此查询中?

1 个答案:

答案 0 :(得分:4)

UPDATE tab1
SET col = CASE WHEN tab2.ID IS NULL THEN 1 ELSE 0 END
FROM tab1
LEFT JOIN tab2 ON tab2.ID = tab1.ID

我假设你希望当tab2.ID为NULL时col为1,而当它不是时为0。所以你需要做两件事。使用案例表达式。同时删除where表达式,这样就不会将结果表限制为只与tab2无关的tab1行