sql - 如何交换记录值?

标签 sql

如何将 role = 1 的所有记录更新为值 2 并将 role = 2 的记录更新为值 1 ?

  login   | role
----------+------
 john     |    1
 anne     |    2
 adam     |    1
 robert   |    1
 katie    |    1
 bob      |    2
 tom      |    2
 ...many records with 1 and 2 values

最佳答案

UPDATE table

SET role = CASE role
               WHEN 1 THEN 2
               ELSE 1
           END

WHERE role = 1 OR role = 2;

关于sql - 如何交换记录值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12711661/

相关文章:

c# - 从 2 个相关表中删除行

sql - 组合多行的 SELECT 语句

mysql - SQL 连接也得到没有连接的结果

mysql - SQL:从我的 sql 查询的日期值中减去 1 天

SQL : programmatically determine if table is view

sql - 对表中的所有 SQL 行减去相同的数字

sql - Heroku - SQL 查询在 localhost 和 heroku 上返回不同的结果

MySql select unique with sum 产生奇怪的结果

java - restSQL war 部署问题

sql - exec(@sql) 的返回值