我想写一个查询,显示Dwayne Johnson电影的成对年份。例如,2003年和2004年,2004年和2005年,2005年和2006年,等等......
Example Demo:
Year, Year
2001, 2002
2003, 2004
2005, 2006
这是我的架构:
Actor:
aid INT PRIMARY KEY
first VARCHAR
last VARCHAR
Movie:
mid INT PRIMARY KEY
title VARCHAR
year INT
Role:
aid INT REFERENCES Actor(aid)
mid INT REFERENCES Movie(mid)
以下是我目前的情况:
select distinct m1.year, m2.year from movie m1, movie m2
JOIN role r ON m1.mid = r.mid JOIN actor a ON r.aid = a.aid
where a.first='Dwayne' AND a.last='Johnson'
答案 0 :(得分:3)
您必须两次加入movie
和role
表格才能获得所有连续的年份。
select m1.year, m2.year
from movie m1
join role r1 on r1.mid = m1.id
join actor a on r.aid = a.aid
join role r2 on r2.aid = a.aid
join movie m2 on r2.mid = m2.id
where m1.year + 1 = m2.year
and a.first='Dwayne' and a.last='Johnson'