この表を考えると:
ID_Numberの各グループの各status_date間のdatediffを日数で取得するにはどうすればよいですか?つまり、ID_Numberが与えられた各ステータスの経過日数を見つける必要があります。
知っておくべきいくつかのこと:
- すべてのID_Numberには、各ID_Numberの最も早い日付であるreceived_dateがあります(ただし、アプリは強制しません)
- ID_Numberごとに、ID_Numberにその特定のステータスが与えられた日付である対応するstatus_dateを持つステータスがあります。
- ステータス列は、必ずしも毎回同じ順序になるとは限りません(アプリは強制しません)
- すべてのID_Numberにはclosed_dateがあり、これは最新の日付である必要があります(ただし、アプリは強制しません)
出力例:ID_Number 2001の場合、最初の日付(received_date)は2009-05-02であり、次に遭遇する日付のステータスは「オープン」で2009-05-02であるため、経過日数は0です。次に遭遇する日付は2009-05-10で、ステータスは「投資」であり、経過日数は前の日付から数えて8日です。次に遭遇する日付は2009-07-11で、経過日数は前の日付から数えて62日です。
追加するために編集:
経過日数をこのテーブル/ビューの列として表示することはできますか?また、これがSQLServer2000であることを追加するのを忘れました。