我有一个包含 3 个字段的表。IE
id, transferdate, placeid
---------------------------
1 | 1-4-2014 | 14
2 | 4-4-2014 | 14
5 | 10-4-2014| 14
6 | 1-5-2013 | 13
9 | 10-6-2013| 12
我想要实现的目标......如果可能......使用单个查询(无论有多少子查询)但普通 SQL(没有枢轴,CTE 等)是得到相同的:placeid's transferdate from each row, on the previous行或下一行,以便我可以用它们进行一些计算。我的意思是 :
id, transferdate, placeid, nexttransferdate
--------------------------------------------
1 | 1-4-2014 | 14 | 4-4-2014
2 | 4-4-2014 | 14 | 10-4-2014
5 | 10-4-2014| 14 | null (or transferdate)
6 | 1-5-2013 | 13 | null (or transferdate)
9 | 10-6-2013| 12 | null (or transferdate)
我已经使用存储过程或函数中的游标甚至使用临时表来实现它,并且我知道如何使用内置递归函数(即 Oracle)来实现它,但我的问题是我需要将它用作报告中的子查询SQL 语句,因此它必须是纯 SQL 代码作为一个语句。
谢谢您的回答