Advertisement
Guest User

Untitled

a guest
Nov 14th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 0.56 KB | None | 0 0
  1. DECLARE @log AS TABLE
  2.     ( Id INT            -- Id of Log Entry
  3.     , EntityId INT      -- Id of Changed Entity
  4.     , Tracked INT       -- Log for changed value
  5.     , ValidFrom DATETIME2
  6.     , ValidTo DATETIME2
  7.     )
  8.  
  9. INSERT INTO @log
  10. VALUES
  11.     (1,1, 1, '2012-01-01', '2012-03-03'),
  12.     (2,1, 1, '2012-03-03', '2013-01-01'),
  13.     (3,1, 2, '2013-01-01', '2014-01-01'),
  14.     (4,1, 1, '2014-01-01', '2015-01-01')
  15.  
  16. SELECT *
  17. FROM
  18.     ( SELECT
  19.         Id,
  20.         EntityId,
  21.         Tracked,
  22.         LAG(Tracked) OVER (PARTITION BY EntityId ORDER BY ValidFrom) as PrevTracked
  23.     FROM @log
  24.     ) as l
  25. WHERE l.Tracked != l.PrevTracked
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement