Mysql
 sql >> Base de données >  >> RDS >> Mysql

Requête SQL basée sur une autre table

Essayez cette requête :

SELECT m2.movieId
FROM mMoviesGenres m1
INNER JOIN mMoviesGenres m2
    ON m1.genreID = m2.genreID
WHERE m1.movieId = 1 AND
      m2.movieId <> 1
GROUP BY m2.movieId
HAVING COUNT(*) = (SELECT COUNT(*) FROM mMoviesGenres WHERE movieId = 1)

Mise à jour :

Si vous voulez trouver des films similaires en ce qui concerne au moins deux genres, utilisez ce HAVING clause :

HAVING COUNT(*) >= 2