0

我在为以下请求编写 SQL 语句时遇到了一些麻烦:“查找在电影中和在同一部电影的翻拍中表演的演员”。

这三个表是'films'、'remakes'和'casts':电影属性:filmid、filmname、年份,导演重拍属性:filmid、title、年份、priorfilm、priortitle、previousyear casts属性:filmid、filmname、actor

到目前为止,我知道priorfilm属性应该与正在测试的电影的filmid相对应,所以我从这个开始:

select actor
from casts, remakes, actors
where casts.filmid = remakes.priorfilm

但我不知道我应该如何进行。

4

1 回答 1

2

这有点令人困惑,因为您的 SQL 中有一个“演员”表,它不在指定的三个 zyou 中......

尝试:

select c.actor
from casts c, 
join films f on c.filmid = f.filmid
join remakes r on r.priorfilm = f.filmid
join casts c2 on c.actor = c2.actor and r.filmid = c2.filmid

请注意,演员表必须被连接两次。

于 2012-11-07T12:02:59.213 回答