Sunday, July 28, 2013

SQL 2008 R2 date query

try,



;WITH CTE AS (
SELECT * FROM (
SELECT C.Id AS CID,C.SaleDate AS CSaleDate,P.Id AS PID,P.SaleDate AS PSaleDate FROM @Test C
LEFT OUTER JOIN
@Test P ON C.Id = P.ID + 1
WHERE ABS(DATEDIFF(ms,P.SaleDate,C.SaleDate)) <= 500 OR ABS(DATEDIFF(ms,P.SaleDate,C.SaleDate)) IS NULL
) X
), CTE1 AS (
SELECT * FROM @Test WHERE ID IN (SELECT CID AS ID FROM CTE
UNION
SELECT PID AS ID FROM CTE)
)
SELECT * FROM CTE1





Regards, RSingh



No comments:

Post a Comment