受注から出荷までのリードタイムを集計するSQLの書き方
データベースに受注テーブルがあり、
その項目として受注番号, 受注日, 出荷日があるとします。
<受注テーブル>
受注番号, 受注日, 出荷日
001, 2009/1/1, 2009/1/1
002, 2009/1/1, 2009/1/3
003, 2009/1/2, 2009/1/2
004, 2009/1/2, 2009/1/2
005, 2009/1/4,
...
この受注テーブルを元に、受注から出荷までにかかる作業効率
(リードタイム)を見る表をMS-SQLで作りたいと思っています。
抽出条件としては受注月指定をして受注日を対象にします。
<出荷リードタイム>
受注日, 注文件数, 当日出荷, 翌日出荷, 翌々日以降出荷, 未出荷
2009/1/1, 2, 1, 0, 1, 0
2009/1/2, 2, 2, 0, 0, 0
2009/1/3, 0, 0, 0, 0, 0
2009/1/4, 1, 0, 0, 0, 1
SUM(CASE WHEN (DATEDIFF(DAY,[受注日], [出荷日]) = 0) THEN 1 END) AS [当日出荷]
を利用して受注日をGroup Byすることで何となくは出来たのですが、
注文のない日(上の場合は2009/1/3)もリストとして出したいので、
もう一工夫必要なのかと思っています。
お知恵を拝借できたら幸いです。