更新SQL查询集

问题描述:

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

我在哪里可以将ELSE col = 0放在这个查询中?更新SQL查询集

+0

所以当tab2.ID IS NOT NULL那么COL应该= 0只TAB1行? – Matt

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 

我假设你希望col当tab2.ID为NULL时为1,当它不是时为0。所以,你需要做两件事情。使用CASE表达式。同时删除您在那里表达,让你不限制结果表到没有关系TAB2