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