• 締切済み

【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

みんなの回答

  • muyoshid
  • ベストアンサー率72% (230/318)
回答No.1

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

mybigbaby
質問者

お礼

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