SQL関数「COALESCE」でサブクエリを使うには少しだけ工夫がいるようです。
サンプルコードはOracleを想定しています。
COALESCEとは
値がNULLの場合、代替値を設定するSQL関数です。
COALESCEの通常の使い方
SELECT COALESCE(NULL, 0) AS value FROM dual -- 結果:0
COALESCEでサブクエリを使う
SELECT COALESCE( SELECT NULL FROM dual , 0) AS value FROM dual -- 結果:ORA-00936: 式がありません
COALESCEでひと工夫してサブクエリを使う
ひと工夫とは、サブクエリに括弧を追加することです。
SELECT COALESCE( ( SELECT NULL FROM dual ), 0) AS value FROM dual -- 結果:0
SQLを極めるのに役立つ書籍
SQL実践入門──高速でわかりやすいクエリの書き方 (WEB+DB PRESS plus)
- 作者: ミック
- 出版社/メーカー: 技術評論社
- 発売日: 2015/04/11
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
達人に学ぶ SQL徹底指南書 (CodeZine BOOKS)
- 作者: ミック
- 出版社/メーカー: 翔泳社
- 発売日: 2008/02/07
- メディア: 単行本(ソフトカバー)
- 購入: 54人 クリック: 1,004回
- この商品を含むブログ (78件) を見る
- 作者: ジョー・セルコ,Joe Celko,ミック
- 出版社/メーカー: 翔泳社
- 発売日: 2007/11/02
- メディア: 大型本
- 購入: 18人 クリック: 335回
- この商品を含むブログ (26件) を見る