Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Aktualisieren Sie die Abfrage in SQL Server über JOINS

Da die Benutzer-ID in allen Zeilen gleich ist, erhalten Sie den gleichen Wert für das Alter.
Dies kann mit einem CTE , etwa so:

;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;

siehe Geige hier