如何组合两个更新语句

时间:2012-09-10 15:59:07

标签: sql sql-update

我有以下两个更新声明:

update tb1
set col1=1
where id in ('1', '2', '3')

update tb1
set col1=0
where id not in ('1', '2', '3')

我可以将上面两个更新语句组合成一个吗?

2 个答案:

答案 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 ;