【发布时间】:2019-03-05 19:16:05
【问题描述】:
我正在使用这个 sql 来计算 startdates 和 enddates:
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。
【问题讨论】:
标签: sql sql-server tsql sql-server-2008