sql >> Databasteknik >  >> RDS >> Sqlserver

SQL UPDATE-sats för att byta två värden i två rader

Om 'Peter' och 'Steve' är unika i din tabell, kommer detta att göra:

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

eller (förbättrad av @Erwin):

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


  1. Oracle Konvertera TIMESTAMP med tidszon till DATUM

  2. Ordna om tabellkolumner i Oracle

  3. Binära data i MySQL

  4. Exempel på APEX_ZIP