SELECT g.*, d.*
FROM MovieGenre g
INNER JOIN MovieDetail d
ON g.MovieID = d.MovieID
INNER JOIN
(
SELECT a.Genre, MAX(b.Rating) maxRating
FROM MovieGenre a
INNER JOIN MovieDetail b
ON a.MovieID = b.MovieID
GROUP BY a.Genre
) sub ON g.Genre = sub.Genre AND
d.rating = sub.maxRating
Coś jest nie tak z twoim projektem schematu. Jeśli Movie
może mieć wiele Genre
jak również Genre
może zawierać wiele Movie
, powinien to być projekt z trzema stolikami.
Tabela szczegółów filmu
- Identyfikator filmu (PK)
- Nazwa filmu
- Ocena filmu
Tabela gatunków
- Identyfikator gatunku (PK)
- Nazwa gatunku
Tabela Movie_Genre
- MovieID (FK) – złożony klucz podstawowy z GenreID
- Identyfikator gatunku (FK)