MySQL присоединяется с несколькими значениями в одном столбце
-
25-09-2019 - |
Вопрос
Мне нужно сделать запрос, который создает 3 столбца, которые поступают из 2 столов, которые имеют следующие соотношения:
Таблица 1 имеет идентификатор столбца, который относится к таблице 2 с столбцом ID2
В таблице 1 есть столбец, называемый пользователем в таблице 2, есть столбец, называемых именами
Может быть 1 уникальный пользователь, но может быть много имен, связанных с этим пользователем.
Если я сделаю следующее, я получаю все данные, но пользовательский столбец повторяется для каждого имени, которое он связан. Для того, что я хочу использовать, чтобы отображаться уникальным, но имена столбцов появляются со всеми именами, связанными с столбцом пользователя, но разделенные запятыми, как следующее:
Выберите пользователя, имена из Table1 Table Joint Table2 на Table1.id = Table2.id
Это покажет, что пользователи повторяются каждый раз, когда имя появляется имя пользователя. то, что я хочу, чтобы выглядеть так:
Пользователь - имена
Cyrex - Pedrox, Rambo, Zelda
Homeboy - Кармен, Карлос, Том, Сандра
Джерри - Сейнфельд, Кристина
ниндзя - солобой
так далее....
Решение
Что вы ищете, это Group_concat. оператор.
select user, GROUP_CONCAT(names SEPARATOR ',')
from TABLE1 left join TABLE2 on TABLE1.id = TABLE2.id
group by user