我有以下形式的数据需要合并,以便我从两行输入数据创建一行,其中第二列是下一行减去一天的值。
我一直在努力想出一种方法来做到这一点,但没有走得太远。我希望这张图能解释这个问题:
表结构
CREATE TABLE Process(
ProcessOrder int NOT NULL IDENTITY (1, 1),
ProcessDate date NOT NULL
);
Run Code Online (Sandbox Code Playgroud)
询问
SELECT ProcessOrder, ProcessDate From Process ORDER BY ProcessOrder;
Run Code Online (Sandbox Code Playgroud)
数据
ProcessOrder ProcessDate
------------ -----------
208 2016-01-04
209 2016-01-11
210 2016-01-18
211 2016-01-25
212 2016-02-01
213 2016-02-08
Run Code Online (Sandbox Code Playgroud)
我需要将上述数据变成以下形状(注意,从后续记录来看,ProcessEnd 比 ProcessBegin 少一天):
ProcessOrder ProcessBegin ProcessEnd
------------ ------------ ----------
208 2016-01-04 2016-01-10
209 2016-01-11 2016-01-17
210 2016-01-18 2016-01-24
211 2016-01-25 2016-01-31
212 2016-02-01 2016-02-07
213 2016-02-08 *NULL*
Run Code Online (Sandbox Code Playgroud)
编辑
我保证 ProcessOrder 列中的值是连续的,没有缺失值。