Я использую этот sql для вычисления начальных и конечных дат:
WITH RankedProcess (ProcessOrder, ProcessDate, Seq) AS
(
SELECT ProcessOrder, ProcessDate, ROW_NUMBER() OVER(ORDER BY ProcessDate) AS Seq
From #Temp
)
SELECT P1.ProcessOrder, P1.ProcessDate AS ProcessBegin, P2.ProcessDate AS ProcessEnd , P1.Seq , P2.Seq
FROM RankedProcess AS P1
LEFT OUTER JOIN RankedProcess AS P2
ON P1.Seq = P2.Seq -1
И вывод выглядит так:
Но я тоже хочу, чтобы это выглядело так:
Разные строки, которых там быть не должно (красный):
Как пример: когда в первой строке есть
04.01.2016 - 11.01.2016
следующий ряд должен начинаться с
18.01.2016 - 25.01.2016
Следующая строка должна иметь enddate
как startdate
.