sql >> Databáze >  >> RDS >> Sqlserver

Aktualizujte dotaz v SQL Server přes JOINS

Protože ID uživatele je ve všech řádcích stejné, získáte stejnou hodnotu pro věk.
To lze vyřešit pomocí CTE , takto:

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

viz housle zde



  1. Jak zjistím poslední den předchozího měsíce pomocí PostgreSQL?

  2. Místní jazyk Heroku nefunguje

  3. Laravel - Jak napsat dvě vnitřní spojení s příkazem count v syntaxi Laravel?

  4. Vyhledání data mezi datem zahájení a datem ukončení