Advertisement
Guest User

Untitled

a guest
Dec 5th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 0.54 KB | None | 0 0
  1. --uzywam tempa zeby sobie nie nadpisywac tabeli
  2.  
  3. IF OBJECT_ID('tempdb..#temp') IS NOT NULL
  4. BEGIN
  5.         DROP TABLE #temp
  6. END
  7.  
  8. DECLARE @a INT = 1
  9. CREATE TABLE #temp (id int, idlag int, v int)
  10. INSERT INTO #temp (id, idlag, v) (SELECT id, ISNULL(LAG(id) OVER (ORDER BY id), id), v FROM t)
  11.  
  12. WHILE @a <= (SELECT MAX([id]) FROM #temp)
  13.  
  14. BEGIN
  15.     SET @a = (SELECT MIN([id]) FROM #temp WHERE v IS NULL)
  16.     UPDATE #temp
  17.     SET v = (SELECT v FROM #temp WHERE id = (SELECT idlag FROM #temp WHERE id = @a))
  18.     WHERE
  19.     id = @a
  20. END
  21.  
  22. SELECT id, v FROM #temp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement