DefconDotNet

lead/lag sql2008

Jan 10th, 2014
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 0.81 KB | None | 0 0
  1.  
  2.  
  3. WITH T1 AS
  4. (
  5.     SELECT ROW_NUMBER() OVER(ORDER BY s.BBAN_ID) N, *
  6.     FROM tblBBAN s
  7.     WHERE --bbannummer >= '742671356' and bbannummer <= '743894723' and
  8.     len(bbannummer) = 9
  9. )
  10. SELECT * FROM (
  11. SELECT top 100
  12.        [BBAN_ID]
  13.       ,[BBANNummer]
  14.       ,[BBANIBAN]
  15.       ,CASE WHEN N%2=1 THEN MAX(CASE WHEN N%2=0 THEN BBANBIC END) OVER (Partition BY N/2) ELSE MAX(CASE WHEN N%2=1 THEN BBANBIC END) OVER (Partition BY (N+1)/2) END LagVal
  16.       ,BBANBIC
  17.       ,CASE WHEN N%2=1 THEN MAX(CASE WHEN N%2=0 THEN BBANBIC END) OVER (Partition BY (N+1)/2) ELSE MAX(CASE WHEN N%2=1 THEN BBANBIC END) OVER (Partition BY N/2) END LeadVal
  18.       ,[BBANChecked]
  19.       ,[BBANDateChecked]
  20. FROM T1
  21. ORDER BY BBANNummer
  22. ) AS q
  23. WHERE q.leadval != ''
  24.   AND q.lagval != ''
  25.   AND bbanbic != ''
  26.   AND bbanbic != q.leadval
  27.   AND bbanbic != q.lagval
Advertisement
Add Comment
Please, Sign In to add comment