主题:[讨论]求一个复杂查询的答案
kongkeaxx
[专家分:0] 发布于 2006-12-02 17:02:00
三张表:
movie(id, title, yr, score, votes, director)
actor(id, name)
casting(movieid, actorid, ord)
注:casting表中的ord是片中演员的排行,排行第一的即是主角。
列出有'Julie Andrews'参演的所有电影名称以及该片的主角.(即在角色表中排名第一:ord = 1)
回复列表 (共3个回复)
沙发
kongkeaxx [专家分:0] 发布于 2006-12-03 14:25:00
- -!
做出来了,答案:
SELECT name FROM actor JOIN casting ON id=actorid JOIN movie ON movieid=movie.id
WHERE ord=1
GROUP BY name
HAVING COUNT(*)>9
板凳
phhph [专家分:130] 发布于 2006-12-06 09:26:00
你做错了,应该是
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 楼
kongkeaxx [专家分:0] 发布于 2006-12-06 14:22:00
啊?
我发错答案了...
我发的是这道题的答案:参演过10部和10部以上电影的主角的名字
我来回复