プロが教えるわが家の防犯対策術!

いつも大変お世話になっております。

すみません。ちょっと変な質問ですが、
下記のようなテーブルがあるとします。

カラムA
=======
1
2
3
4

ここで、select * from テーブル where カラムA in ('1','2','3','5');
とした場合、結果は
カラムA
=======
1
2
3
になり、条件で指定した('5')が一致しませんが、
この('5')がないことを、表示することは、当然テーブルに値がないのですから
無理ですよね。。。

普通は、テーブルをもう一つ作って、minusなど使って不一致を出す方法は
わかるのですが。。。テーブル単体で、というのはやはり、できませんよね。。

変な質問してすみませんが、お返事お待ちしております。
どうぞよろしくお願いいたします。

A 回答 (1件)

(オラクルは触ったことないんですが、クエリはなんとなく同じだと思いますので。

。。)

格好悪いけど↓でできると思います。

select '1' as [カラムA], count(*) as [件数] from テーブル where カラムA='1'
union
select '2' as [カラムA], count(*) as [件数] from テーブル where カラムA='2'
union
select '3' as [カラムA], count(*) as [件数] from テーブル where カラムA='3'
union
select '5' as [カラムA], count(*) as [件数] from テーブル where カラムA='5'
    • good
    • 0
この回答へのお礼

なるほど!
ありがとうございます。

お礼日時:2010/02/12 01:00

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