Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pset7-电影在12和13 SQL上卡住了?_Sql_Video_Cs50 - Fatal编程技术网

Pset7-电影在12和13 SQL上卡住了?

Pset7-电影在12和13 SQL上卡住了?,sql,video,cs50,Sql,Video,Cs50,我目前正在使用cs50pset7(),我不知道如何使用12.sql和13.sql(在链接中解释)。有人能帮我吗?对于这两个PSET,您需要使用嵌套的选择语句,例如: SELECT table.column FROM table WHERE table.column IN (SELECT table.column2 FROM table WHERE ...) 根据我12年的经验,您将需要使用两个独立的嵌套查询(每个查询都应该有多个值),然后使用和操作符来查找在这两个查询中出现的电影 对于13,我

我目前正在使用cs50pset7(),我不知道如何使用12.sql和13.sql(在链接中解释)。有人能帮我吗?

对于这两个PSET,您需要使用嵌套的
选择
语句,例如:

SELECT table.column FROM table WHERE table.column IN (SELECT table.column2 FROM table WHERE ...)
根据我12年的经验,您将需要使用两个独立的嵌套查询(每个查询都应该有多个值),然后使用
操作符来查找在这两个查询中出现的电影


对于13,我发现使用几个嵌套查询很有帮助,从查找Kevin Bacon的id开始,一直到选择人员。从包含多个可能的
people.id
值的查询中命名值

12.sql

考虑使用HAVING COUNT()


13.sql

正如我在中所回答的,我发现以下步骤很有帮助:

  • 获取凯文·培根的身份证,标准是1958年出生的凯文·培根
  • 使用Kevin Bacon的ID获取电影ID(提示:将表1中的ID与表2链接)
  • 使用相同的电影ID获取其他明星的ID
  • 获取这些明星的名字,并排除凯文·培根(因为规范说他不应该包括在结果列表中)

  • 对于12.sql:查找“约翰尼·德普电影id”中的“id”和“海伦娜·邦汉·卡特电影id”中的“id”的电影标题,例如:

    SELECT "title" FROM "movies" 
    WHERE "id" IN (-- code to select movie id's in which "Johnny Depp" starred)
    AND "id" IN (-- code to select movie id's in which "Helena Bonham Carter" starred);
    
    对于13.sql:查找“stars”中的“person_id”与“Kevin Bacon(出生:1958)”主演的“movie_id”相对应的人的姓名,以及姓名!=“凯文·培根”,例如:

    SELECT "name" FROM "people"
    WHERE "id" IN 
    (-- select "person id's" from "stars" where "movie id" in
    (-- select "movie id's" in which "Kevin Bacon (born: 1958)" starred))
    AND "name" != "Kevin Bacon";
    
    在13.sql的第二个括号内,要查询“Kevin Bacon生于1958年”,可以编写如下代码:

    ... WHERE "people"."name" = "Kevin Bacon" AND "people"."birth" = 1958))...
    

    简单思考,不需要做任何花哨的事情。

    我知道这是一个教育练习,但请提供每个问题的表格结构的更多细节。社区正在努力提供帮助,但你至少要给我们一些信息,而不是你的家庭作业/课堂链接。看起来不错——特别是询问者给我们的信息。除了13之外,还有一个where语句,其中包含了生日检查的必要性“可能有多个叫凯文·培根的人/请确保您使用1958年出生的凯文·培根”我没有提到它,因为该查询应该在第二个括号中。但好的方面是,人们可能会忽略这一点。所以我正在编辑答案。谢谢。