У меня есть две таблицы:Группа по типу рейтинга?
ab_message
- user_id
- название
- содержание
- вопрос
и ab_message_rating:
- ID
- идентификатор_пользователя
- message_id
- created_at
- updated_at
ab_message
находится в OneToMany связь с ab_message_rating
. Каждая запись в ab_message_rating
имеет 1, 2 или 3 в качестве номинального значения.
Так что я хочу выбрать в одном запросе сообщение Все связанные записи таблиц. Ключ - это то, что мне нужно в этом рейтинге запроса засчитываться значение BY.
Для примера Результата Schuld быть:
Сообщения а имеют 5 записей о рейтинге 1, 7 записей по рейтингу 2 и 10 вхождений рейтинга 3
, как сделать это в запрос? Что-то вроде Group By и A Join?
Привет JW, я пытался адаптировать свой запрос к моя схема, но я получил: ERROR 1054 (42S22): Неизвестный столбец 'b.rating' в 'списке полей' здесь запрос: – smartius
SELECT id, title, content, MAX (CASE WHEN b.rating = '1' THEN totalCount ELSE NULL END) '1', MAX (CASE WHEN b.rating = '2' THEN totalCount ELSE NULL END) '2', MAX (случай, когда b.rating = '3', то TOTALCOUNT ИНАЧЕ NULL КОНЕЦ) '3' ОТ ( SELECT, a.id, a.title, a.content, b.rating, COUNT (*) TOTALCOUNT ОТ ab_message в LEFT JOIN ab_message_rating б ПО a.id = b.message_id GROUP BY a.id, a.title, a.content, b.rating ) R GROUP BY ID, название, content – smartius
Извините, попробуйте еще раз, 'b.' следует удалить. –