0
オーバーラップイン/アウトの日付を処理する必要があるため、このコードをLeadl/Lagで処理する必要があります。お客様IDは、各お客様IDのためので最初ddStartはラグにNULLを持つことになり、それは私にはない、他のお客様ID、から/ラグ値を導く取るの下に最終ddStartは、この例では、鉛にNULLを持つことになります必要。TSQLのリード/ラグ各グループのNULLに設定する方法
申し訳ありません。この問題は解決しませんでした。
CREATE TABLE cust (CustID int, DDStart date, DDEnd date)
--DROP table cust
INSERT INTO cust VALUES
(111, '2012-01-01', '2012-01-31'),
(222, '2014-08-01', '2014-08-31'),
(222, '2014-09-01', '2014-09-30'),
(222, '2014-10-01', '2014-12-31'),
(333, '2016-08-01', '2016-08-31')
SELECT custID, ddStart, ddEnd,
'_' [_] ,
LEAD (ddStart) OVER (PARTITION BY custID ORDER BY custID, ddStart) ddStart_lead,
LAG (ddEnd) OVER (PARTITION BY custID ORDER BY custID, ddStart) ddEnd_lag,
ROW_NUMBER() OVER(PARTITION BY CustID ORDER BY ddStart) rn
FROM cust