当前位置: 首页 > 面试题库 >

查找使用Yash Chopra制作的电影多于其他任何导演的所有演员

梁俊智
2023-03-14
问题内容

塞赫玛

    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 p4 
                    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;

我没有得到正确的输出。 我的行数为零。有人可以修改上面的查询并给我正确的输出,但我尝试了各种查询,但没有得到任何结果


问题答案:

您可以检查以下SQL。

说明-第一个内联视图返回带有“ Yash Chopra”的电影计数的人员列表。第二个内联视图返回与其他导演一起观看电影的人的列表。最后,我筛选了“ Yash
Chopra”的电影数量大于“其他导演”的那些人的列表。

(select pc.name, count(distinct m.mid) count_movie
from movie m
join m_cast mc on m.mid = mc.mid
join m_director md on m.mid = md.mid
join person pc on mc.pid = pc.pid
join person pd on md.pid = pd.pid
where pd.name = 'YASH CHOPRA'
group by pc.name) lst_yc
join
(select pc.name, count(m.mid) count_movie
from movie m 
join m_cast mc on m.mid = mc.mid
join m_director md on m.mid = md.mid
join person pc on mc.pid = pc.pid
join person pd on md.pid = pd.pid
where pd.name != 'YASH CHOPRA'
group by pc.name) lst_wo
on lst_yc.name = lst_wo.name
where lst_yc.count_movie > lst_wo.count_movie


 类似资料:
  • 得到2张桌子 表1-执行元:ACTOR_ID、FIRST_NAME、LAST_NAME、LAST_UPDATE 表2-FILM_ACTOR:ACTOR_ID、FILM_ID、LAST_UPDATE 我已经尝试了以下关于寻找谁曾在最多的电影中扮演

  • 我正在尝试使用Java8流API,并希望使用Java8流过滤器map reduce转换以下方法。 我有一个电影列表,每个电影对象都有一个演员列表以及其他字段。 我想找到所有有特定名字和姓氏的演员在其中工作过的电影。 下面的方法Java7,我循环播放电影列表,然后循环播放该电影的演员列表。如果找到了具有该名字和姓氏的演员,我将打破内部循环,并将该电影添加到返回的电影列表中。 注释代码有效,我可以得到

  • 我在MyGdxGame中的render方法看起来是这样的,调用舞台绘制自己(连同它的演员),然后我尝试绘制一组纹理以供调试之用。 舞台和它的一个演员一起绘制,但其他的纹理没有被绘制。 我试过的:在舞台相机上设置批处理投影矩阵(在调用之后),确保纹理坐标应该是可见的。

  • 我已经有了两个查询 选择每个演员n次(n=在电影中出现)。我的查询:选择actor.first_name,actor.last_name FROM actor.INNER连接actor.actor_id=film_actor.actor_id; 结果: 结果:演员1出演了19部电影。 但我要的是:出演电影最多的演员: 任何帮助都是非常感谢的。谢谢你!

  • 在主管内部- 以下是我主管课程的一部分: 以下是导致子参与者停止的条件: 在akka工具包中,我可以使用哪个API打印我的Supervisor类中所有子角色的状态?

  • 我正在运行Akka2.0.2微内核,希望为不受信任的远程参与者实现一个身份验证方案。 首先想到的是设置一个身份验证执行元,该执行元在身份验证成功时返回对工作执行元的引用。 也就是说,我要阻止远程参与者在没有身份验证的情况下访问我的微内核参与者系统中的参与者。 在actorOf()中不给工作执行元一个名字是不够的,因为它会得到一个容易猜测的自动生成的名字。有没有一种方法可以禁用Actor的远程查找,