Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Instrukcja SQL UPDATE do przełączania dwóch wartości w dwóch wierszach

Jeśli 'Peter' i 'Steve' są unikalne w Twojej tabeli, wystarczy:

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

lub (ulepszone przez @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. Błędy w SQL Server podczas importowania pliku CSV pomimo użycia varchar(MAX) dla każdej kolumny

  2. Jak naprawić „Powiązana funkcja partycji generuje więcej partycji niż jest grup plików wymienionych w schemacie” Msg 7707 w SQL Server

  3. Połącz PowerShell i SQL Diagnostic Manager, aby zautomatyzować monitorowanie SQL Server

  4. 3 sposoby na uzyskanie nazwy dnia z daty w SQL Server (T-SQL)

  5. SQL Server:łączenie wielu wierszy w jeden wiersz