MySQL

NULLフィールドの0補完:

COALESCE(field,0)

select a.DATE, a.COUNT, COALESCE(b.COUNT,0), COALESCE(c.COUNT,0), COALESCE
(d.COUNT,0) ,(a.COUNT - COALESCE(b.COUNT,0)-COALESCE(c.COUNT,0)-COALESCE
(d.COUNT,0))from ((total_view a left join google_view b on a.DATE = b.DATE)
left join msn_view c on a.DATE = c.DATE) left join private_view d on a.DATE =
d.DATE;

表結合で現れたNULLフィールドなどを0補完するとその後のデータ計算が問題なく実行できる。

SQLマニュアルから

COALESCE(value,...) 
リストの最初の非 NULL 値を戻すか、非 NULL 値がない場合は NULL を戻します。 
mysql> SELECT COALESCE(NULL,1);
        -> 1
mysql> SELECT COALESCE(NULL,NULL,NULL);
        -> NULL

2項以上でも動作する模様。


トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-01-16 (水) 11:13:30 (2378d)