Имам тези таблици:
Филми (
id
,name
)Актьори (
idmovie
,actor
)
И бих искал да преброя броя на актьорите за всеки филм и след това да получа само филми с повече от 10 актьора. Имам запитване за преброяване на броя на актьорите за всеки филм, което върви по следния начин:
SELECT idmovie, count(actor) FROM Cast GROUP BY idmovie HAVING count(actor) > 10;
Сега се чудя как да получа този резултат и да го присъединя към таблицата Филми. Опитах:
SELECT name FROM Movies INNER JOIN (SELECT idmovie FROM Cast GROUP BY idmovie HAVING count(actor) >2) Cast ON Cast.idmovie = Movies.id;
Но не става.
Трябва също да го преведа на релационна алгебра.
π name (σ (count(σ id = idmovie))) Movies⨝Cast
Което очевидно не е наред...
Някаква помощ?
INNER JOIN
- няма нужда от подзаявки. - person PM 77-1   schedule 12.10.2015