更新SQL查询集

更新SQL查询集,sql,sql-server,ssis,Sql,Sql Server,Ssis,在这个查询中,我应该把ELSE col=0放在哪里 UPDATE tab1 SET col = 1 FROM tab1 LEFT JOIN tab2 ON tab2.ID = tab1.ID WHERE tab2.ID IS NULL 我假设您希望tab2.ID为NULL时col为1,不为NULL时col为0。所以你需要做两件事。使用大小写表达式。还要删除where表达式,这样就不会将结果表限制为仅与tab2无关的tab1行 我假设您希望tab2.ID为NULL时col为1,不为NULL时co

在这个查询中,我应该把
ELSE col=0
放在哪里

UPDATE tab1
SET col = 1
FROM tab1
LEFT JOIN tab2 ON tab2.ID = tab1.ID
WHERE tab2.ID IS NULL
我假设您希望tab2.ID为NULL时col为1,不为NULL时col为0。所以你需要做两件事。使用大小写表达式。还要删除where表达式,这样就不会将结果表限制为仅与tab2无关的tab1行


我假设您希望tab2.ID为NULL时col为1,不为NULL时col为0。所以你需要做两件事。使用大小写表达式。还要删除where表达式,这样就不会将结果表限制为仅与tab2无关的tab1行

因此,当tab2.ID不为空时,col应=0?那么当tab2.ID不为空时,col应=0?
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