電子書籍の厳選無料作品が豊富!

どなたかご教授ください。
あるテーブル(hoge)のカラム(adr)に4つのコードのいづれかが必ず入ります。そのコードごとにカウントを取ろうと思います。

例 adr )1:東京2:神奈川3:千葉4:埼玉
select count(adr) from hoge group by adr

カウントを取る時に、例えば3がない場合は出力時に何も出力されずに、結果として1、2、4の件数が表示されます。
この時に、3の結果も「0」と表示させていのですが、どのようにすればよいのでしょうか。

宜しくお願いいたします。

A 回答 (1件)

無いものを表示するのは、出来ません。


なので自分で作ります。

select key,count(adr) from hoge,
(
select 1 as key from dual union all
select 2 from dual union all
select 3 from dual union all
select 4 from dual
)
where key=adr(+)
group by key;

な感じかな。

でも、テーブルhogeの件数によっては、事前に集約した方が良いかも。
select key,c from
(select adr,count(*) as c from hoge group by adr),
(
select 1 as key from dual union all
select 2 from dual union all
select 3 from dual union all
select 4 from dual
)
where key=adr(+);
    • good
    • 0
この回答へのお礼

参考にさせていただいた結果、うまく出力できました。

回答ありがとうございました。

お礼日時:2010/03/07 20:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!