Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL UPDATE оператор за превключване на две стойности в два реда

Ако 'Peter' и 'Steve' са уникални във вашата таблица, това ще направи:

UPDATE TableX
SET ord = ( SELECT MIN(ord) + MAX(ord) 
            FROM TableX 
            WHERE name IN ('Peter', 'Steve')
          ) - ord
WHERE name IN ('Peter', 'Steve')

или (подобрено от @Erwin):

UPDATE TableX
SET ord = ( SELECT SUM(ord) 
            FROM TableX 
            WHERE name IN ('Peter', 'Steve')
          ) - ord
WHERE name IN ('Peter', 'Steve')


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Възможно ли е да се зададе време за изчакване за SQL заявка на Microsoft SQL Server?

  2. Разлика между DELETE и TRUNCATE таблица в SQL Server

  3. Разберете защо имейл не успя да се изпрати в SQL Server (T-SQL)

  4. върне стойност на позиция от STRING_SPLIT в SQL Server 2016

  5. Създайте параметризиран VIEW в SQL Server 2008