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查询-join得到以下结果
- 4. 如何编写以下SQL查询?
- 5. 如何查询以获得此结果?
- 6. 如何编写一个sql查询以获得来自1个表的以下结果?
- 7. 如何编写一个MySQL查询来获得这个结果?
- 8. 如何从下面的oracle sql查询中获得不同的结果?
- 9. 如何编写休眠条件查询下面的SQL查询
- 10. 如何设置查询以获得如下结果?
- 11. 如何编写可以给出以下结果的SQL?
- 12. 如何编写下面的mongo查询?
- 13. 如何获得查询结果的SQLAlchemy
- 14. 如何获取SQL查询的结果?
- 15. 如何编写此SQL查询?前3最匹配的结果
- 16. SQL查询,产生以下结果
- 17. SQL查询返回以下结果集
- 18. 如何在没有子查询的情况下为以下查询编写sql
- 19. 如何获得以下结果?
- 20. SQL计数查询 - 如何获得期望的结果?
- 21. 慢SQL查询返回 - 如何获得更好的结果?
- 22. SQL查询以获得期望的结果
- 23. 合并sql查询以获得按日期不同的结果
- 24. 优化SQL扫描查询,以获得从Postgres的结果DB
- 25. 如何正确编写以下查询?
- 26. 如何编写以下mySQL查询?
- 27. 如何为以下查询编写QueryExpression?
- 28. MySQL的加入查询{如何得到以下结果}
- 29. 查询,获得结果再次查询
- 30. 如何编写SQL查询?
你正在使用哪个版本的sql server? –