У меня есть 2 таблицы, одна для мобильных телефонов, другая для обзоров В таблице отзывов хранятся отзывы о конкретном мобильном телефоне и его мобильном идентификаторе.
Структура мобильного стола.
mobile_id | mobile_name
Структура таблицы отзывов.
review_id | mobile_id | review_body
Пока я написал этот запрос.
SELECT c.*, p.review_body
FROM ((select mobile_id, mobile_name from mobiles
WHERE brand_id=1 limit 0,5) c)
left JOIN
(
SELECT mobile_id,
MAX(review_id) MaxDate
FROM reviews
GROUP BY mobile_id
) MaxDates ON c.mobile_id = MaxDates.mobile_id left JOIN
reviews p ON MaxDates.mobile_id = p.mobile_id
AND MaxDates.MaxDate = p.review_id
Этот запрос возвращает первые 5 мобильных телефонов из мобильной таблицы и их последний (один) отзыв из обзорной таблицы. Это результат, который он возвращает.
mobile_id | mobile_name | review_body
Вопрос: Но я также хочу с ним провести обзор. review_count должно быть равно общему количеству отзывов, которые мобильный телефон имеет в таблице отзывов против своего mobile_id.
Поэтому, пожалуйста, скажите мне, как это можно сделать с помощью одного запроса, который у меня уже есть. Буду признателен за любую помощь, так как я пытаюсь сделать это с 24 часов.