sql >> Databasteknik >  >> RDS >> Sqlserver

Uppdatera fråga i SQL Server via JOINS

Eftersom användar-id är samma på alla rader får du samma värde för åldern.
Detta kan lösas med en CTE , så här:

;with cte as 
(
  select id, userid, age, ROW_NUMBER() OVER(order by id) rn
  FROM #tempMock
)
UPDATE t1
SET    t1.age = t2.age
FROM   #temp t1
INNER JOIN cte t2 ON t1.userid = t2.userid and t1.id = t2.rn+1;

se fiol här



  1. SQL IF-sats ignoreras

  2. mysql-valfråga i en serialiserad array

  3. Skriva ut Oracle Sys_refcursor i Oracle SQL Developer 1.5

  4. 3 funktioner som hämtar dagen, månaden och året från ett datum i PostgreSQL