SQLについて
SQLについてです。
「購入情報」というテーブルには販売番号、商品番号、売れた個数が記述されており、
(販売番号,商品番号,売れた個数)=(a101,1000,2),(a101,1001,2),(a102,1003,2),
(a102,1000,4),(a102,1002,2),(a103,1003,1)
「購入者情報」というテーブルには販売番号、ユーザーID、買ったお店が記述されており、
(販売番号,ユーザーID,価格) = (a101,u1,tokyo),(a102,u2,yokohama),(a103,u3,chiba)
「会員情報」というテーブルにはユーザーID、名前が記述されており、
(ユーザーID,名前) = (u1,yamada),(u2,takahashi),(u3,yamamoto)
ここから、同時に商品を3種類以上購入したユーザーの名前を求めるために下記のSQL文を考えました。
(SELECT 販売番号, COUNT(*)
FROM 購入情報
GROUP BY 販売番号SalesCode
Having COUNT(*) >= 3)
UNION
(SELECT 会員情報.名前
FROM 会員情報, 購入者情報, 購入情報
WHERE 購入情報.販売番号 = 購入者情報.販売番号
AND 購入者情報.ユーザーID = 会員情報.ユーザーID);
うまくできません。
どう直したらうまくいくでしょうか。
初心者なので、わかりやすく教えていただきたいです。
よろしくお願いいたします。