需要获得一个之前和之后的付款更改日期,如何在SQL中对其进行编码以提取这些日期?有许多先前和未来的更改日期,但我只想要一个先前和一个未来。感谢您的帮助。
答案 0 :(得分:0)
您的问题听起来需要lag()
和lead()
,但这些问题无法解决。
您可以使用outer apply
执行类似操作:
select t.*, tprev.changedate, tnext.changedate
from t outer apply
(select top 1 tprev.*
from t tprev
where tprev.changedate < t.changedate
order by tprev.changedate desc
) tprev outer apply
(select top 1 tnext.*
from t tprev
where tnext.changedate < t.changedate
order by tnext.changedate desc
) tnext;