我在为以下请求编写SQL语句时遇到了一些麻烦:“查找在电影中播放的演员以及同一部电影的重拍”。
三个表是'电影','重拍'和'演员': 电影属性:filmid,filmname,year,director 重拍属性:filmid,title,year,priorfilm,priortitle,prioryear 演员属性:filmid,filmname,actor
到目前为止,我知道priorfilm属性应该与正在测试的电影的filmid相对应,所以我从这开始:
select actor
from casts, remakes, actors
where casts.filmid = remakes.priorfilm
但我不知道如何继续这样做。
答案 0 :(得分:2)
这有点令人困惑,因为你的SQL中有一个'actor'表,而不是指定的三个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
请注意,强制转换表必须连接两次。