使用where子句进行多重设置

时间:2017-06-20 06:00:54

标签: sql sql-server where

我想使用set和where来更新一列的值。

我做了像

这样的查询
update Students set Studentid =case 
when Studentid=1  then class= 10 
when studentid = 3 then class=9
when studentid=2 and studentid =4 then class=8 
End

但我猜它不起作用。请帮帮我。

1 个答案:

答案 0 :(得分:2)

我认为这就是你想说的:

UPDATE Students
SET class = CASE WHEN Studentid = 1       THEN 10
                 WHEN Studentid = 3       THEN 9
                 WHEN Studentid IN (2, 4) THEN 8 END
WHERE Studentid IN (1, 2, 3, 4);

我添加了WHERE子句,以确保我们只触及实际受更新逻辑影响的记录。