2016-07-03 69 views
-2

需要獲取一個以前的和一個未來的付款更改日期,如何在SQL中對其進行編碼以提取這些日期?有許多先前和未來的更改日期,但我只想要一個前一個和一個未來。感謝您的幫助提前。SQL Server 2008 - 獲取之前和未來日期的代碼

+5

請編輯您的問題,並提供樣本數據和預期的結果。 –

回答

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; 
相關問題