sql >> Base de Datos >  >> RDS >> Sqlserver

Declaración SQL UPDATE para cambiar dos valores en dos filas

Si 'Peter' y 'Steve' son únicos en su tabla, esto servirá:

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

o (mejorado por @Erwin):

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