首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的cs50 pset 7 10.sql嵌套查询哪里出错了?

我的cs50 pset 7 10.sql嵌套查询哪里出错了?
EN

Stack Overflow用户
提问于 2021-01-25 08:31:47
回答 1查看 381关注 0票数 1

我目前正在寻找所有导演过至少9.0分的电影的人的名字,这些表格的计划是

代码语言:javascript
复制
CREATE TABLE movies (

                    id INTEGER,
                    title TEXT NOT NULL,
                    year NUMERIC,
                    PRIMARY KEY(id)
                );
CREATE TABLE stars (

                movie_id INTEGER NOT NULL,
                person_id INTEGER NOT NULL,
                FOREIGN KEY(movie_id) REFERENCES movies(id),
                FOREIGN KEY(person_id) REFERENCES people(id)
            );
CREATE TABLE directors (

                movie_id INTEGER NOT NULL,
                person_id INTEGER NOT NULL,
                FOREIGN KEY(movie_id) REFERENCES movies(id),
                FOREIGN KEY(person_id) REFERENCES people(id)
            );
CREATE TABLE ratings (

                movie_id INTEGER NOT NULL,
                rating REAL NOT NULL,
                votes INTEGER NOT NULL,
                FOREIGN KEY(movie_id) REFERENCES movies(id)
            );
CREATE TABLE people (

                id INTEGER,
                name TEXT NOT NULL,
                birth NUMERIC,
                PRIMARY KEY(id)
            );

我的SQL查询是:

代码语言:javascript
复制
SELECT DISTINCT name FROM people 
WHERE id IN ( SELECT person_id FROM directors WHERE movie_id IN ( 
    SELECT id FROM movies WHERE id IN (
        SELECT movie_id FROM ratings WHERE votes >= 9.0)));

然而,这失败了check50测试,并提供了不正确的输出。有人能帮我找出我哪里出错了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-25 12:28:33

规范上写着(强调是加的)

In 10.sql中,编写一个SQL查询,列出所有导演过分级至少为9.0的电影导演的姓名。

查询不对ratings.rating列进行筛选。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65881284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档