Je suis en train de faire un moteur de recherche sur des films pour les rechercher par genre, et j'ai pas réussit à faire autrement qu'avec des sous requêtes, est ce qu'il y a moyen de faire plus simple et performant en une seule requête ?
Ma requête ci dessous : Rechercher les films qui ont le genre action (id 1) ET le genre aventure (id 2).
Mes tables (simplifiées) :
films
- id
- titre
films_genre
- id_film
- id_genre
SELECT *
FROM films AS f
WHERE (SELECT COUNT(id_film) FROM films_genre AS fg WHERE f.id = fg.id_film AND fg.id_genre = 1) > 0
AND (SELECT COUNT(id_film) FROM films_genre AS fg WHERE f.id = fg.id_film AND fg.id_genre = 2) > 0
GROUP BY f.id
Merci d'avance