sql >> Databáze >  >> RDS >> Sqlserver

Příkaz SQL UPDATE pro přepnutí dvou hodnot ve dvou řádcích

Pokud 'Peter' a 'Steve' jsou ve vaší tabulce jedinečné, udělá to:

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

nebo (vylepšeno @Erwin):

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


  1. sql group pouze po řádcích, které jsou za sebou

  2. MySQL vs MySQLi při použití PHP

  3. Ekvivalent Oracle GROUP_CONCAT().

  4. Jak vytvořit uživatele s oprávněními superuživatele v PostgreSQL