sql >> Databasteknik >  >> RDS >> Mysql

SQL-fråga baserad på annan tabell

Testa den här frågan:

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)

Uppdatering:

Om du vill hitta filmer som liknar minst två genrer, använd denna HAVING klausul:

HAVING COUNT(*) >= 2


  1. mysql - grupp, men visa alla rader i en kolumn

  2. RR vs YY i Oracle

  3. PHP-funktion för att extrahera ett fältvärde från en databas

  4. Formatera en tidsstämpel