回答

收藏

查找使用Yash Chopra制作的电影比其他任何导演都多

技术问答 技术问答 129 人阅读 | 0 人回复 | 2023-09-13

塞赫玛
  C3 w$ W' N  O9 Z                SELECT   p1.pid,         p1.NAME,         Count(movie.mid) AS movieswithyc FROM     person           AS p1 natural JOIN     m_cast natural JOIN     movie JOIN     m_director ON        (                                   movie.mid = m_director.mid) JOIN     person AS p2 ON        (                                   m_director.pid = p2.pid) WHERE    p2.NAME LIKE 'Yash Chopra' GROUP BY p1.pid HAVING   Count(movie.mid) >ALL           (                                     SELECT     Count(movie.mid)                     FROM       person AS p3 natural                     JOIN       m_cast                     INNER JOIN movie                     JOIN       m_director                     ON          (                                                           movie.mid = m_director.mid)                     JOIN       person AS p                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ON          (                                                           m_director.pid = p4.pid)                     where      p1.pid = p3.pid                     AND        p4.NAME NOT LIKE 'Yash Chopra             GROUP BY   p4.pid) ORDER BY movieswithyc DESC;我没有得到正确的输出。我的行数为零。有人可以修改上述查询并给我正确的输出,但我尝试了各种查询,但没有得到任何结果
' H! H+ K% A' C( ~( D/ P4 \7 P& B! C                                                                ! A, ^8 {; b# z
    解决方案:                                                               
7 Q! Y' e. _: z                                                                您可以检查以下内容SQL。
, F& b2 z7 e* m0 C1 q% U说明-第一个内联视图返回带 Yash Chopra电影计数人员名单。第二个内联视图返回与其他导演一起观看电影的人员名单。最后,我筛选了 Yash
9 F1 Q9 S8 [( L$ `6 v- B/ tChopra电影数量大于其他导演的人。/ ^0 Z$ R: `' }+ H
(select pc.name,count(distinct m.mid) count_moviefrom movie mjoin m_cast mc on m.mid = mc.midjoin m_director md on m.mid = md.midjoin person pc on mc.pid = pc.pidjoin person pd on md.pid = pd.pidwhere pd.name = 'YASH CHOPRA'group by pc.name) lst_ycjoin(select pc.name,count(m.mid) count_moviefrom movie m join m_cast mc on m.mid = mc.midjoin m_director md on m.mid = md.midjoin person pc on mc.pid = pc.pidjoin person pd on md.pid = pd.pidwhere pd.name != 'YASH CHOPRA'group by pc.name) lst_woon lst_yc.name = lst_wo.namewhere lst_yc.count_movie > lst_wo.count_movie
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则