MYSQLでのSELECT文での検索文について
以下の三つのテーブルがあるとします。
user
user_id name
1 山田
2 細木
3 鈴木
4 佐藤
product
product_id car_name
1 クラウン
2 カムリ
3 プリウス
4 スカイライン
5 セレナ
6 ノート
7 アコード
8 フィット
9 フォレスター
10 BMW
genre
genre_id genre_name
1 燃費が良い
2 デザインが良い
3 コストパフォーマンスが良い
4 安い
5 高級
6 速い
7 買いたい
8 好き
like
like_id user_id product_id genre_id
1 1 1 5
2 1 3 1
3 1 3 7
4 1 3 8
5 2 8 1
6 2 8 9
7 2 8 7
8 2 10 5
9 3 3 1
10 3 3 7
11 3 3 8
12 3 6 8
13 4 6 7
14 4 6 8
15 4 10 5
上記Likeテーブルからproduct_idが「3」で、 genre_idが「1」「7」「8」の「3つ全て」を選択しているユーザーの「user_id」と「product_id」を下記のように2行で検索結果を出したい場合、どのようなSQL文を書けばよいでしょうか?
(検索結果)
user_id product_id
1 3
3 3
SELECTFROM like
WHERE product_id=3 AND (genreID=1 AND genreID=7 AND genreID=8)
では1つもひっかりませんし、
SELECTFROM like
WHERE product_id=3 AND (genreID=1 OR genreID=7 OR genreID=8)
では望んでいる結果が得られません。
どのようなSQL文を書けば望んでいる結果(条件を満たしている「user_id」と「product_id」を検索結果として出したい)を検索できるでしょうか。
宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー