У меня есть три таблицы: Таблица «A» содержит несколько событий с уникальным идентификатором. Таблица «B» имеет категории, которые соответствуют идентификатору таблицы A, хотя может быть несколько совпадений для каждого идентификатора. Таблица 'C' определяет имена категорий, которые соответствуют идентификатору в таблице 'B'. Как я могу получить вывод, который показывает уникальные события с несколькими категориями, перечисленными вместе, в отличие от каждого события, повторяемого для каждой категории?Mysql найти совпадающие строки для общего поля в двух таблицах и объединить поля в одну строку
Table A Table B Table C
id | event | date | id | catid catid | cat
1 swim 1-2-16 1 11 11 slow
2 swim 1-2-16 1 12 12 med
3 run 1-3-16 1 13 13 fast
4 bike 1-5-16 2 11
5 run 1-30-16 3 12
3 13
4 12
5 11
У меня это заявление Mysql:
SELECT A.*, B.*, C.*
FROM A, B, C
WHERE A.id = B.id and B.catid = C.catid and DATE(date) BETWEEN "1-2-16" and "1-5-16
ORDER BY event, cat
Проблема вывода этого утверждения повторяет событие для каждой категории. Я хотел бы, чтобы на выходе отображались все категории, применимые для каждого события, как выходная строка. Например, «плавайте по 1-2-16 медленно, меди, быстро», а не «плавайте на 1-2-16 медленных», «плавайте по 1-2-16 мед», «плавайте 1-2-16 быстро». Как я могу это сделать?
В моем реальном приложении я должен был тоже добавить эквивалентный MAX (A.id) в Select части. – user3520372