Как я могу сгенерировать запрос SQL со средней оценкой для mov ie из разных таблиц? - PullRequest
0 голосов
/ 16 июня 2020

Буду очень признателен за вашу помощь в этом запросе. В моей базе данных (Oracle) есть таблица под названием MOVIES с такими полями, как id и title . Затем есть еще один, SCORES , который имеет такие поля, как movie_id и score . Это отношение «один ко многим».

Теперь я ищу способ получить SELECT, который даст мне результат, подобный приведенному ниже:

mov ie -title, avg (score, где mov ie .id = scores.movie_id)

На первый взгляд это выглядит просто, но я не могу пройти через это. Есть предложения?

Ответы [ 2 ]

0 голосов
/ 16 июня 2020

Во-первых, вам нужно объединить таблицы на pk / fk

Затем, чтобы получить среднее значение для каждого mov ie, вам нужно использовать группу и указать столбец (оценка) что вы хотите.

В этом случае мы группируемся по идентификатору, потому что он уникален, и заголовку mov ie, так как он находится в предложении select

select m.title, avg(s.score)
from movie m
inner join scores s
on m.id = s.movie_id
group by m.id, m.title
0 голосов
/ 16 июня 2020

Вам просто нужно join и group by следующим образом:

Select m.title, avg(s.score)
From movies m join scores s
On m.id = s.movie_id
Group by m.id, m.title
...