Advertisement
Guest User

Untitled

a guest
Jun 29th, 2016
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. Declare @Table table (RowNumber int, Increment int, Score int)
  2.  
  3. Insert into @Table
  4. values (1, 1, NULL), (2, 100000, NULL), (3, -1, NULL),
  5. (4, 1, NULL), (5, 10, NULL), (6, -1, NULL),
  6. (7, -100000, NULL), (8, -10, NULL)
  7.  
  8. Update @Table
  9. Set Score = B.Score
  10. From @Table A
  11. Join (Select RowNumber, Score = sum(Increment) over (Order By RowNumber)
  12. from @Table) B on A.RowNumber = B.RowNumber
  13.  
  14. Select * from @Table
  15.  
  16. RowNumber Increment score
  17. 1 1 1
  18. 2 100000 100001
  19. 3 -1 100000
  20. 4 1 100001
  21. 5 10 100011
  22. 6 -1 100010
  23. 7 -100000 10
  24. 8 -10 0
  25.  
  26. UPDATE @Table SET Score=(SELECT SUM(Increment)
  27. FROM @Table B
  28. WHERE b.RowNumber <= A.RowNumber)
  29. FROM @Table A
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement