sql >> Database teknologi >  >> RDS >> Sqlserver

Opdater forespørgsel i SQL Server via JOINS

Da bruger-id'et er det samme i alle rækker, får du samme værdi for alderen.
Dette kan løses ved hjælp af en CTE , sådan her:

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



  1. Fremmednøgle til ikke-primær nøgle

  2. Hvordan kontrolleres for duplikatindtastning i DB?

  3. DBMS_LOB.SUBSTR() kaster tegnstrengbuffer for lille fejl

  4. SQL Server og forbindelsestab midt i en transaktion