そのため、私は MySQL を初めて使用し、少し問題を抱えています。book_genres と呼ばれる 1 つのテーブルと、books と呼ばれる別のテーブルがあります。
book_genres
+-------+---------+
|book_id| genre |
+-------+---------+
| 1 | Horror |
| 1 | Comedy |
| 2 | Romance |
| 2 | Comedy |
+-------+---------+
books
+-------+---------+
|book_id| title |
+-------+---------+
| 1 | A Book |
| 2 | B Book |
| 3 | C Book |
+-------+---------+
次のコマンドを使用して、選択した 3 つのジャンルを持つすべての book_id を取得しています。
SELECT DISTINCT a.book_id, b.genre AS genre1, c.genre AS genre2, d.genre AS genre3
FROM book_genres a
JOIN book_genres b ON a.book_id = b.book_id AND b.genre LIKE 'Romance'
JOIN book_genres c ON a.book_id = c.book_id AND c.genre LIKE 'Action'
JOIN book_genres d ON a.book_id = d.book_id AND d.genre LIKE 'Comedy'
GROUP BY book_id
私がやりたいことは、この検索で見つかった book_ids を使用して、books テーブルからすべての本のタイトルを取得することです。これを行うためのより簡単な方法があるかどうかはわかりませんが、これが私が思いついたすべてです。
助けてくれる人に感謝します!