我目前正在使用10.sql,它要求我查找所有导演了一部评分至少为9.0的电影的人
以下是架构:
创建TABLE电影(
id INTEGER,
title TEXT NOT NULL,
year NUMERIC,
PRIMARY KEY(id)
);
CREATE TABLE星号(
movie_id INTEGER NOT NULL,
person_id INTEGER NOT NULL,
FOREIGN KEY(movie_id) REFERENCES movies(id),
FOREIGN KEY(person_id) REFERENCES people(id)
);
创建表控制器(
movie_id INTEGER NOT NULL,
person_id INTEGER NOT NULL,
FOREIGN KEY(movie_id) REFERENCES movies(id),
FOREIGN KEY(person_id) REFERENCES people(id)
);
创建表评级(
movie_id INTEGER NOT NULL,
rating REAL NOT NULL,
votes INTEGER NOT NULL,
FOREIGN KEY(movie_id) REFERENCES movies(id)
);
创建表格人员(
id INTEGER,
name TEXT NOT NULL,
birth NUMERIC,
PRIMARY KEY(id)
);
下面是我编写的代码:
SELECT DISTINCT name FROM people
JOIN directors ON directors.person_id = people.id
JOIN movies ON movies.id = directors.person_id
JOIN ratings ON ratings.movie_id = movies.id
WHERE ratings.rating >= 9.0;
当我在sqlite3上工作时,它返回了一个名称列表。但是它没有通过check50测试,错误消息是“查询没有返回结果”。我不知道为什么。谁能告诉我我做错了什么吗?非常感谢
1条答案
按热度按时间5w9g7ksd1#
为什么您需要加入
movies
?请尝试: