購入者ID 商品
1 a
1 b
2 a
2 b
4 c
5 d
3 e
上のように購入者1と2がそれぞれaとbの商品を購入しているばあい、where句で
商品 = a AND 商品 = b
として絞り込みしたら、何もヒットせずに結果が帰って来ます。
商品aとbの両方を購入した人を抽出するのはどのようにしますでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/21 10:15
回答3件
0
何もヒットせずに結果が帰って来ます。
はい、同じ行で商品 = a
と商品 = b
は同時に成立しませんので、ヒットする行は存在しえません。
商品aとbの両方を購入した人を抽出するのはどのようにしますでしょうか?
行単位の抽出ではできませんので、GROUP BY
で購入者ID別に集計をかけて、その結果からHAVING
で抽出する必要があります。
投稿2021/09/21 02:10
総合スコア146018
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/21 03:06
2021/09/21 03:10
2021/09/21 03:39
2021/09/21 03:43
2021/09/21 03:50
2021/09/21 04:47 編集
2021/09/21 04:48
0
ベストアンサー
SQL
1create table tbl(ID int primary key,user int,products varchar(10)); 2insert into tbl values 3(1,1,'a'), 4(2,1,'b'), 5(3,2,'a'), 6(4,2,'b'), 7(5,2,'b'), 8(6,2,'c'), 9(7,3,'a'), 10(8,3,'a'), 11(9,4,'c'); 12 13select user from tbl 14where products in ('a','b') 15group by user 16having count(distinct products)=2
投稿2021/09/21 02:28
総合スコア116734
0
where in コマンドがいいと思います。
https://www.sejuku.net/blog/72497
投稿2021/09/21 02:41
総合スコア58
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。