我有这张桌子:
ID | Name | GroupORDER |
1 | John | 1 |
2 | Ben | 2 |
3 | Joe | 2 |
4 | Paul | 2 |
5 | Anna | 2 |
6 | Tash | 3 |
7 | Ryan | 3 |
我想在一组之间交换一个查询GroupORDER并得到以下结果:
ID | Name | GroupORDER |
1 | John | 1 |
6 | Tash | 2 |
7 | Ryan | 2 |
2 | Ben | 3 |
3 | Joe | 3 |
4 | Paul | 3 |
5 | Anna | 3 |
有任何想法吗?
像这样的完全错误的查询:
UPDATE table SET GroupORDER = 2
WHERE GroupORDER = 3 AND GroupORDER = 3 WHERE GroupORDER = 2;
我正在尝试通过一个查询来实现
最佳答案
试试这个代码,我没有经过测试,但我认为它可以工作:
UPDATE table
SET GroupOrder =
CASE
WHEN GroupOrder = 2 THEN 3
WHEN GroupOrder = 3 THEN 2
ELSE GroupOrder
END
WHERE GroupOrder = 2 OR GroupOrder = 3;