Найдите всех актеров, которые сняли больше фильмов с Кристофером Ноланом, чем любой другой режиссер - PullRequest
0 голосов
/ 13 июня 2019

Мне нужно найти актера, который снял больше фильмов с Ноланом, чем любой другой режиссер.

'Этот запрос даст мне фильм режиссера Кристофера Нолана'

  select P1.PID, P1.Name,
   Movie.MID 
   from Person P1 natural join M_Cast natural 
  join Movie join M_Director on (Movie.MID = M_Director.MID) join Person P2 on (M_Director.PID = P2.PID) where P2.Name='Christopher Nolan'

https://i.stack.imgur.com/I2NAp.jpg

1 Ответ

0 голосов
/ 13 июня 2019

Я не проверял, но что-то похожее на это должно работать:

SELECT *
FROM   (
        SELECT   actor.name AS ActorName,
                 COUNT(CASE UPPER(dirct.name) WHEN 'CHRISTOPHER NOLAN' THEN 1 ELSE NULL END) AS WithNolan,
                 COUNT(CASE UPPER(dirct.name) WHEN 'CHRISTOPHER NOLAN' THEN NULL ELSE 1 END) AS NotNolan
        FROM     movie
        JOIN     m_cast
          ON     movie.mid = m_cast.mid
        JOIN     person actor
          ON     m_cast.pid = actor.pid
        JOIN     m_director
          ON     movie.mid = m_director.mid
        JOIN     person dirct
          ON     m_director.pid = dirct.pid
        GROUP BY actor.name
       )
WHERE  WithNolan > NotNolan;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...