Mysql
 sql >> Datenbank >  >> RDS >> Mysql

SQL-Abfrage basierend auf einer anderen Tabelle

Probieren Sie diese Abfrage aus:

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)

Aktualisierung:

Wenn Sie Filme finden möchten, die sich in mindestens zwei Genres ähneln, dann verwenden Sie diesen HAVING Klausel:

HAVING COUNT(*) >= 2