鉴于此表:
如何获取每组 ID_Number 的每个 status_date 之间的日期差异(以天为单位)?换句话说,我需要找到给定 ID_Number 的每个状态的经过天数。
一些事情要知道:
- 所有 ID_Number 都会有一个 received_date,它应该是每个 ID_Number 的最早日期(但应用程序不强制执行)
- 对于每个 ID_Number 都会有一个状态,其对应的 status_date 是 ID_Number 获得该特定状态的日期。
- 状态列不一定每次都以相同的顺序排列(应用程序不强制)
- 所有 ID_Number 都将有一个 closed_date,它应该是最晚的日期(但应用程序不强制执行)
示例输出:因此对于 ID_Number 2001,第一个日期 (received_date) 是 2009-05-02,而您遇到的下一个日期的状态为“open”并且是 2009-05-02,因此经过的天数为 0。继续遇到的下一个日期是 2009 年 5 月 10 日,状态为“投资”,经过的天数是从前一个日期算起的 8 天。遇到的下一个日期是 2009-07-11,经过的天数是从前一个日期算起的 62 天。
编辑添加:
是否可以将经过的天数作为此表/视图上的一列?我还忘了补充说这是 SQL Server 2000。