• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:レコード数をカウントしてから特定条件で検索は?)

レコード数をカウントしてから特定条件で検索は?

このQ&Aのポイント
  • テーブル名「TANA」で、棚コードが主キー、商品コードが副キーとした組み合わせでレコード数をカウントし、条件に合うレコードを抽出する方法を教えてください。
  • 次のSQLを使用して棚コードと商品コードの組み合わせでレコード数が1つだけのものを抽出できます: ``` select 棚コード, 商品コード from TANA group by 棚コード, 商品コード having count(*) = 1; ``` この条件に加えて、担当者が「鈴木」か「山田」のものだけを抽出するにはどのようなSQLを書けばいいでしょうか?
  • 詳しい方に教えていただきたいです。使用しているデータベースはOra10gです。

質問者が選んだベストアンサー

  • ベストアンサー
  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.3

osamuyさんの回答のとおり、まず提示のSQL自体が期待する結果にならないですよね。 「T1」&「OP123」と「T5」&「A7777」を抽出する条件を再度明確にしてもらえますか? >棚コードが主キー、商品コードが副キーとしたときこの組み合わせ 明らかにこれは違いますよね。

mr-r00
質問者

お礼

ありがとうございます 大変参考になりました!

その他の回答 (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 ('鈴木','山田'); 試さないで書いてますが。

mr-r00
質問者

お礼

ありがとうございます 大変参考になりました!

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

select 棚コード, 商品コード from TANA where 担当者 in ('鈴木','山田') group by 棚コード, 商品コード having count(*) = 1;

mr-r00
質問者

お礼

ありがとうございます 大変参考になりました!

関連するQ&A