【问题标题】:cs50 - pset7 - movies - 10.sql failed check50 testcs50 - pset7 - 电影 - 10.sql check50 测试失败
【发布时间】:2022-12-06 12:41:49
【问题描述】:

我目前正在研究 10.sql,它要求我找到所有导演过一部评分至少为 9.0 的电影的人

这是架构: schema

这是我写的代码:

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 测试,并显示错误消息“查询未返回结果”。我不知道为什么。谁能告诉我我做错了什么?非常感谢

【问题讨论】:

标签: sql sqlite cs50


【解决方案1】:

为什么你需要加入movies?尝试:

SELECT
    name 
FROM
    people 
    JOIN directors ON people.id = directors.person_id 
    JOIN ratings ON directors.movie_id = ratings.movie_id 
WHERE
    ratings.rating >= 9.0

【讨论】:

  • 谢谢!它有效!我正在使用电影在导演和收视率之间建立联系,忘记了导演同时拥有 person_id 和 movie_id。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-27
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多