- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:同じ列での絞り込みについて)
同じ列での絞り込みについて
このQ&Aのポイント
- Mysql勉強中のものです。結合後のテーブルからパソコンとビデオを販売する店舗(結果的にはA店とE店)に絞り込むにはどのようなSQL文を書けばよいのでしょうか。
- 結合後のテーブルからパソコンとビデオを販売する店舗に絞り込むには、SQL文を使用します。
- 結合後のテーブルからパソコンとビデオを販売する店舗を絞り込むためには、特定の店舗の販売品目を条件として指定する必要があります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
このテーブルから販売品目がパソコンとビデオの店舗だけに絞り込むと、 A店が2回、B店/C店/D店が1回、E店が2回、F店が1回の結果が出ます。 この結果中に2回出てくる店舗が販売品目がパソコンとビデオの店舗に該当すると考えます。 select x.ID from ( select ID,販売品目 from table where 販売品目 in ( 'パソコン', 'ビデオ' ) ) x group by x.ID having count(*) = 2;
お礼
いろいろ試行錯誤してみた結果、 SELECT x.ID FROM LEFT JOIN~ WHERE 販売品目 in ( 'パソコン', 'ビデオ' ) GROUP BY x.ID HAVING COUNT(*) = 2; で解決しました。 こういうときはHAVINGとCOUNTを使えばいいんですね。 非常にためになりました。 ただ、「select ID,販売品目 from table」と group直前の「x」を入れるとエラーになってしまったので、 これが理解できるまでもう少しがんばってみます。 わかりやすいご回答、ありがとうございました。