带 where 子句的多集

multiple set with where clause

我想使用 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

但我想它不起作用。请帮助我。

我想这就是你想表达的意思:

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 子句以确保我们只触及实际上会受到更新逻辑影响的记录。