Monday, June 3, 2013

Identify the Changes in Columns Data

Try the below script,



--------------------------------- DEFINITION
DECLARE @temp TABLE (SALESID int,UPDATEDATE datetime, COL1 int,COL2 int,COL3 int,COL4 int)
INSERT INTO @temp VALUES(1,getdate()-1,null,64,null,null)
INSERT INTO @temp VALUES(1,getdate(),null,null,null,32)
INSERT INTO @temp VALUES(2,getdate()-1,22,null,null,null)
INSERT INTO @temp VALUES(2,getdate(),null,44,null,55)
---------------------------------- QUERY
-- BEGIN CTE
;WITH CTE AS (
SELECT SALESID,COLS FROM (
SELECT SALESID, COL1 ,COL2 ,COL3 ,COL4 from (
SELECT *,dense_rank() over (order by updatedate) as [Dense] FROM @temp
) X
WHERE [Dense] <=2
) p
unpivot
(
COLVALUES FOR COLS in (COL1,COL2,COL3,COL4)
) as upvt
) -- END OF CTE
SELECT SALESID,
Stuff((SELECT ',' + COLS
FROM CTE
WHERE SALESID = a.SALESID
FOR xml path('')), 1, 1, '') COLS
FROM CTE a
GROUP BY SALESID





Regards, RSingh


No comments:

Post a Comment