回 帖 发 新 帖 刷新版面

主题:[讨论]求一个复杂查询的答案

三张表:
movie(id, title, yr, score, votes, director)
actor(id, name)
casting(movieid, actorid, ord)
  注:casting表中的ord是片中演员的排行,排行第一的即是主角。

列出有'Julie Andrews'参演的所有电影名称以及该片的主角.(即在角色表中排名第一:ord = 1)

回复列表 (共3个回复)

沙发


- -!
做出来了,答案:
SELECT name FROM actor JOIN casting ON id=actorid JOIN movie ON movieid=movie.id
WHERE ord=1
GROUP BY name
HAVING COUNT(*)>9

板凳

你做错了,应该是

select M.title, A.name
from movie M, actor A, casting C
where C.ord = 1 AND
      A.id = C.actorid AND
      M.id = C.movieid AND
      C.movieid IN (

select M1.id
from movie M1, actor A1, casting C1
where A1.name = 'Julie Andrews' AND
      A1.id = C1.actorid AND
      M1.id = C1.movieid)

先选出Julie ANdrews所演的全部影片,然后再找出他所主演影片中的主角。

3 楼

啊?
我发错答案了...
我发的是这道题的答案:参演过10部和10部以上电影的主角的名字

我来回复

您尚未登录,请登录后再回复。点此登录或注册