MySQL присоединяется с несколькими значениями в одном столбце

StackOverflow https://stackoverflow.com/questions/4609753

  •  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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top