[[MySQL]]

*NULLフィールドの0補完: [#i82a35a6]
 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,...) 
 COALESCE(value,...) 
 リストの最初の非 NULL 値を戻すか、非 NULL 値がない場合は NULL を戻します。 
 mysql> SELECT COALESCE(NULL,1);
         -> 1
 mysql> SELECT COALESCE(NULL,NULL,NULL);
         -> NULL


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

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS