Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Instruction SQL UPDATE pour basculer deux valeurs dans deux lignes

Si 'Peter' et 'Steve' sont uniques dans votre tableau, ceci suffira :

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

ou (amélioré par @Erwin):

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