SQL クエリが null 値を取り除かないという問題があります。
私は無数の異なるテクニックを試しましたが、私は初心者です。
私の望ましい結果は、注文番号の後にステータスが発生した日付がすべて1行で表示されることです。
select mo.order_id OrderID,
case when osr.order_status_cd = 120 and osr.create_date is not null then osr.create_date end as POCreated,
case when osr.order_status_cd = 220 and osr.create_date is not null then osr.create_date end as Ordered,
case when osr.order_status_cd = 300 and osr.create_date is not null then osr.create_date end as Shipped,
case when osr.order_status_cd = 400 and osr.create_date is not null then osr.create_date end as Received,
case when osr.order_status_cd = 500 and osr.create_date is not null then osr.create_date end as Completed,
from order_status_record osr
inner join msorder mo on mo.order_id = osr.msorder_id
次のような結果が得られる代わりに:
OrderID POCreated Ordered Shipped Received Completed
497822 11/18/2012 NULL NULL NULL NULL
497822 NULL 11/19/2012 NULL NULL NULL
497822 NULL NULL 11/19/2012 NULL NULL
497822 NULL NULL NULL 11/19/2012 NULL
497822 NULL NULL NULL NULL 11/19/2012
これ欲しい:
OrderID POCreated Ordered Shipped Received Completed
497822 11/18/2012 11/19/2012 11/19/2012 11/19/2012 11/19/2012
仮想テーブルを作成する必要がありますか? if 関数は必要ですか? Null がまだ存在するのはなぜですか?
どんな助けでも大歓迎です。
ありがとう、
アンドリュー