sql - 可以在一个查询中更新具有不同条件的两行吗?

时间:2012-04-23 03:50:20

标签: sql sql-server-ce

这适用于SqlCe, 我正在尝试更新一个表并为赢家设置赢得+ = 1,并为输家丢失= 1。 我知道我可以使用两个不同的更新语句来做到这一点,但我想知道是否可以在更新输入“丢失”值的同时更新获胜者“赢”值。

基本上看起来像这样,

UPDATE player SET won = won +1 WHERE id = 0
UPDATE player SET won = lost +1 WHERE id = 1

1 个答案:

答案 0 :(得分:1)

这不是很好但是有效

UPDATE player SET won = won + CASE WHEN id = 0 THEN -1 ELSE 1 END WHERE id in (0,1)

我个人坚持使用两个更新语句