在經過的每個記錄天:SQL問題:獲取DATEDIFF在對於這個表的一組
我如何獲得各組ID_NUMBER的每個status_date之間的天DATEDIFF?換句話說,我需要找出已經給出ID_Number的每個狀態的經過天數。
有些事情知道:
- 所有ID_NUMBER會有這應該是每個ID_NUMBER的最早日期received_date(但應用不強制)
- 對於每個ID_NUMBER會有一個狀態相應的status_date是ID_Number被賦予該特定狀態的日期。
- 狀態欄並不一定總是以相同的順序,每次去(應用程序不執行)
- 所有ID_NUMBER會有這應該是最新的日期closed_date(但應用不強制)
樣本輸出: 因此,對於ID_Number 2001,第一個日期(received_date)是2009-05-02,並且您遇到的下一個日期的狀態爲「打開」,並且是2009-05-02,因此過去的日期爲0轉到下一個遇到的日期是2009-05-10,狀態爲「投資」,過去的日期是從前一天開始的8天。遇到的下一個日期是2009年7月11日,經過的日期是從前一日期算起的62天。
編輯補充:
是否有可能有經過幾天結束了作爲此表/視圖中的列? 我還忘了補充一點,這是SQL Server 2000中
我添加了所有列到我的答案複製原始表與一個新的天列。當沒有closed_date時它是空的。 – 2010-01-30 00:25:17