2
A
回答
-1
some_logical_grouping_of_data shoud定義可用於的數據組。
Select ID, stepname, arrival_date, duedate,
LEAD (arrival_date) OVER (partition by "some_logical_grouping_of_data" order by ID) as completion_date
from table;
0
這個腳本給您預期的結果
;With Cte(
id,StepName,ArrivalDate,duedate
)
AS
(
SELECT 1,'Step1','25/12/2017','1/1/2018' UNION ALL
SELECT 2,'Step2','26/12/2017','1/1/2018' UNION ALL
SELECT 3,'Step3','27/12/2017','1/1/2018'
)
SELECT
id
,StepName
,ArrivalDate
,duedate
,ISNULL(LEAD(ArrivalDate,1)OVER(ORDER BY ArrivalDate),'') AS CompletionDate
FROM CTE
結果
id StepName ArrivalDate duedate CompletionDate
-----------------------------------------------------
1 Step1 25/12/2017 1/1/2018 26/12/2017
2 Step2 26/12/2017 1/1/2018 27/12/2017
3 Step3 27/12/2017 1/1/2018
0
這應該成爲你的目的,完成日期爲開始日期從明年ID
SELECT x.id
,x.stepname
,x.arrival_date
,x.due_date
,isnull(y.arrival_date, '') Completion_date
FROM x
LEFT JOIN (
SELECT id
,step1
,step2
,arrival_date
FROM x
) y ON x.id = y.id + 1
0
授第n行根據id
列的升序排列。(如果id
列有空白)。然後與rn = rn + 1
一起使用LEFT JOIN
/RIGHT JOIN
。
查詢
;with cte as(
select [rn] = row_number() over(
order by [id]
), *
from [your_table_name]
)
select t1.[stepName], t1.[ArrivalDate], t1.[dueDate],
coalesce(t2.[dueDate], '') as [completiondate]
from cte t1
left join cte t2
on t1.[rn] + 1 = t2.[rn];
-1
這是一個壞主意,加入基於字符串後綴的數據。我假設step1
總是有ID 1
,step13
總是有ID 13
等等。然後你可以做類似於
SELECT t1.ID, t1.Stepname, t1.arrival_date, t2.arrival_date as completion_date
FROM tablename t1
LEFT JOIN tablename t2 on t1.ID + 1 = t2.ID;
+0
爲什麼downvote? –
相關問題
- 1. 如何編寫一個sql查詢以獲得以下結果?
- 2. 如何編寫一個可以得到下面結果的SQL查詢?
- 3. 如何編寫下面的SQL查詢?
- 4. SQL查詢-join得到以下結果
- 5. 如何編寫以下SQL查詢?
- 6. SQL:如何編寫查詢以下
- 7. 如何編寫一個sql查詢以獲得來自1個表的以下結果?
- 8. 如何查詢以獲得此結果?
- 9. 如何從下面的查詢中獲得結果數量?
- 10. 如何編寫SQL查詢以獲取以下內容...
- 11. 如何編寫一個MySQL查詢來獲得這個結果?
- 12. 如何獲取下面的sql查詢結果?
- 13. 如何從下面的oracle sql查詢中獲得不同的結果?
- 14. 如何編寫休眠條件查詢下面的SQL查詢
- 15. 如何設置查詢以獲得如下結果?
- 16. 我將如何使用SQL查詢得到以下結果
- 17. 如何組合2個sql查詢以獲得1個結果
- 18. 如何爲以下SQL查詢編寫HQL查詢?
- 19. 如何編寫可以給出以下結果的SQL?
- 20. 寫SQL查詢以從下面的表
- 21. 如何編寫下面的mongo查詢?
- 22. 如何獲得查詢結果的SQLAlchemy
- 23. 基於查詢獲得分面結果
- 24. 如何獲取SQL查詢的結果?
- 25. 如何編寫此SQL查詢?前3最匹配的結果
- 26. SQL查詢,產生以下結果
- 27. SQL查詢返回以下結果集
- 28. 使用JOIN重寫此查詢以獲得更快的結果
- 29. 如何在沒有子查詢的情況下爲以下查詢編寫sql
- 30. 如何獲得以下結果?
你正在使用哪個版本的sql server? –