Как сделать подзапрос на AVG из другой таблицы mySQL?

Есть таблица товаров (`prods`):
`prod_id`, `prod_name`, `prod_desc` и т.д...

И таблица отзывов о товарах (`reviews`):
`rev_id`, `rev_prod`, `rev_rating`, `rev_text` и т.д...

Связь: `reviews`.`rev_prod` => `prods`.`prod_id`

В поле `rev_rating` пишется "оценка" товара (число от 1 до 5)

Мне нужно получить одним запросом среднюю оценку по каждому товару...

Я делаю так:

SELECT `prod_id`, `prod_name`, `prod_desc`, AVG(`rev_rating`) AS `avg_rating` 
FROM prods p
JOIN reviews r ON p.prod_id = r.rev_prod
GROUP BY prod_id;


Все красиво, НО! - таким образом, в выдаче не будет товаров, на которые нет ни одного отзыва...
  • Вопрос задан
  • 234 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
LEFT JOIN таблицы товаров со сгруппированной в подзапросе таблицей рейтингов.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы