- 締切済み
【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
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- muyoshid
- ベストアンサー率72% (230/318)
回答No.1
こんにちわ。 手元に環境が無いので、確認していませんが 以下の手順でどうでしょう? 1) 「×,△,○,-」を数値化します。 (当然×>△>○>- 順です) 2) 商品毎の検査結果を確認します。 Select 商品名, MAX(検査) 検査結果 from 表名 group by 商品名; 3) 2) のSQL 文を入力にして、 (インライン・ビューで大丈夫かな?) 検査結果毎にCOUNT を行う。
お礼
自分でFUNCTIONを作成して、なんとか解決できました。 回答ありがとうございます。 こんなやりかたもできるのですね。 今後の参考にさせて頂きます。