- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:レコード数をカウントしてから特定条件で検索は?)
レコード数をカウントしてから特定条件で検索は?
このQ&Aのポイント
- テーブル名「TANA」で、棚コードが主キー、商品コードが副キーとした組み合わせでレコード数をカウントし、条件に合うレコードを抽出する方法を教えてください。
- 次のSQLを使用して棚コードと商品コードの組み合わせでレコード数が1つだけのものを抽出できます: ``` select 棚コード, 商品コード from TANA group by 棚コード, 商品コード having count(*) = 1; ``` この条件に加えて、担当者が「鈴木」か「山田」のものだけを抽出するにはどのようなSQLを書けばいいでしょうか?
- 詳しい方に教えていただきたいです。使用しているデータベースはOra10gです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
osamuyさんの回答のとおり、まず提示のSQL自体が期待する結果にならないですよね。 「T1」&「OP123」と「T5」&「A7777」を抽出する条件を再度明確にしてもらえますか? >棚コードが主キー、商品コードが副キーとしたときこの組み合わせ 明らかにこれは違いますよね。
その他の回答 (2)
- osamuy
- ベストアンサー率42% (1231/2878)
回答No.2
ありゃ、、No.1のだと、「OP456」も抽出するから、仕様を満たさないですね。 それ以前に、 > select 棚コード, 商品コード from TANA group by 棚コード, 商品コード having count(*) = 1; が、T2&PP555やT3&QTARO3などのレコード(最終的に全レコード)を返すような。 とすると、T1&OP123とT5&A7777を抽出するなら、こんな感じかな: select * from TANA where 棚コード in (select 棚コード from TANA group by 棚コード having count(*) = 1) and 担当者 in ('鈴木','山田'); 試さないで書いてますが。
質問者
お礼
ありがとうございます 大変参考になりました!
- osamuy
- ベストアンサー率42% (1231/2878)
回答No.1
select 棚コード, 商品コード from TANA where 担当者 in ('鈴木','山田') group by 棚コード, 商品コード having count(*) = 1;
質問者
お礼
ありがとうございます 大変参考になりました!
お礼
ありがとうございます 大変参考になりました!