みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

【Oracle】Countの方法

現在、Oracle8.1.7で開発をしております。

データの件数を数えたいのですが、やりたいことが複雑なので、うまくいきません。
以下のようなテーブルがあったとします。

テーブルA
商品名 ID 検査
 A   1  ○
 A   2  △
 A   3  ×
 B   4  -
 B   1  ○
 B   2  ○
 B   3  △
 C   1  ○
 D   1  △

商品名と、IDがキーとなっています。
商品名に対して、IDは複数存在しますが、
いくつあるかはわかりません。

このとき、1つでも『×』が存在したら、
その商品名は『×』として数えたいのです。
優先順位としては、
 ×>△>○>-
です。

ちなみに、上記のような場合には、
×:1商品(A)
△:2商品(B・D)
○:1商品(C)
としたいのです。

データの件数が多いので、何かよい方法があったら
教えて下さいm(_ _)m

投稿日時 - 2003-05-19 13:08:25

QNo.551689

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

こんにちわ。

手元に環境が無いので、確認していませんが
以下の手順でどうでしょう?
 1) 「×,△,○,-」を数値化します。
   (当然×>△>○>- 順です)
 2) 商品毎の検査結果を確認します。
   Select 商品名, MAX(検査) 検査結果 from 表名
    group by 商品名;
 3) 2) のSQL 文を入力にして、
   (インライン・ビューで大丈夫かな?)
    検査結果毎にCOUNT を行う。

投稿日時 - 2003-05-19 13:36:57

お礼

自分でFUNCTIONを作成して、なんとか解決できました。
回答ありがとうございます。
こんなやりかたもできるのですね。
今後の参考にさせて頂きます。

投稿日時 - 2003-05-22 16:40:30

あなたにオススメの質問