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
आपके स्कीमा डिज़ाइन में कुछ गड़बड़ है। अगर कोई Movie
कई Genre
हो सकते हैं साथ ही Genre
कई Movie
. पर हो सकता है , यह तीन टेबल का डिज़ाइन होना चाहिए।
मूवी विवरण तालिका
- मूवीआईडी (पीके)
- मूवी का नाम
- मूवी रेटिंग
शैली तालिका
- GenreID (पीके)
- शैली का नाम
मूवी_शैली तालिका
- MovieID (FK) -- GenreID के साथ मिश्रित प्राथमिक कुंजी
- GenreID (FK)