我有以下两个更新声明:
update tb1
set col1=1
where id in ('1', '2', '3')
update tb1
set col1=0
where id not in ('1', '2', '3')
我可以将上面两个更新语句组合成一个吗?
答案 0 :(得分:4)
试试这个:
UPDATE tb1 SET col1= CASE WHEN id in ('1', '2', '3') THEN 1 ELSE 0 END
答案 1 :(得分:1)
UPDATE tb1
SET col1 = CASE WHEN id in (1, 2, 3)
THEN 1
WHEN id NOT IN (1, 2, 3)
THEN 0
ELSE
col1
END ;