Pset7 - фильмы застряли на 12 и 13 SQL? - PullRequest
1 голос
/ 12 января 2020

В настоящее время я работаю с CS50 PSET7 (https://cs50.harvard.edu/x/2020/psets/7/movies/), и я НЕ МОГУ понять, как это сделать 12. sql и 13. sql (объяснено в ссылке). Может кто-нибудь ПОЖАЛУЙСТА, помогите мне?

Ответы [ 3 ]

0 голосов
/ 22 марта 2020

12. sql

Попробуйте использовать HAVING COUNT ()

https://www.w3resource.com/sql/aggregate-functions/count-having.php


13. sql

Поскольку я также ответил в другой теме , я нашел эти шаги полезными:

  1. Получите удостоверение личности Кевина Бэкона с критериями того, что это Кевин Бэкон, родившийся в 1958 году table1 with table2)
  2. Получить идентификаторы других звезд с тем же самым mov ie ID
  3. Получить имена этих звезд и исключить Кевина Бэкона (потому что spe c говорит, что он не должен не будут включены в итоговый список)
0 голосов
/ 06 мая 2020

Для 12. sql: Найдите названия mov ie, где 'id' в "id's фильмов Джонни Деппа" и "id" в "id's фильмов Хелены Бонэм Картер", например:

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: Найти имена людей, в которых "person_id's" в "stars" соответствует "movie_id", в котором "Kevin Bacon (родившийся: 1958)" играл главную роль, и names! = "Kevin Bacon" Например:

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, чтобы запросить "Кевин Бэкон 1958 года рождения", вы можете написать такой код:

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

Думай просто, не нужно делать что-то причудливое.

0 голосов
/ 01 февраля 2020

Для обоих этих Psets вам нужно использовать вложенные операторы SELECT, например:

SELECT table.column FROM table WHERE table.column IN (SELECT table.column2 FROM table WHERE ...)

Исходя из моего опыта работы с 12, вам нужно будет использовать 2 отдельных вложенных запроса (каждый из которых должен иметь несколько значения), а затем используйте оператор AND для поиска фильмов, которые появляются в обоих из них.

Для 13 я обнаружил, что помогло несколько вложенных запросов, начиная с поиска идентификатора для Кевина Бэкона и заканчивая подбором людей , Назовите значения из запроса, который содержит несколько возможных people.id значений.

...