Group_CONCAT () получить информацию - PullRequest
0 голосов
/ 22 сентября 2019

У меня есть 3 таблицы, но я считаю, что на данный момент нужны только 2 из них.таблицы называются

1: спортсмен 2: тренировка_сессия 3: клуб

training_session club

Iхотите, чтобы в каждой стране извлекались учебные действия, выполняемые в клубах этой страны, другие действия разделены знаком "," внутри каждого списка, повторяющихся значений не существует

SELECT activity GROUP_CONCAT (DISTINCT activity ORDER BY activity 
SEPARATOR ',') as "test" FROM training_session group by activity

Я ожидаю, что будет возвращено 2 строкивот чего я хочу

1 Ответ

0 голосов
/ 22 сентября 2019

Вы не показываете все столбцы своих таблиц, но, как обоснованное предположение, я думаю, что вам нужны три таблицы здесь.Вы можете начать с training_sessions, затем присоединиться к athletes на основе athlete_id и, наконец, к club на основе club_id.Затем вы можете агрегировать по стране клуба и использовать GROUP_CONCAT(DISTINCT ...), о котором вы, похоже, уже знаете:

SELECT
    c.country,
    GROUP_CONCAT(DISTINCT ts.activity ORDER BY activity) activities
FROM training_session ts
INNER JOIN athlete a ON a.id = ts.athlete_id
INNER JOIN club c ON c.id = a.club_id
GROUP BY c.country
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...