Pergunta

Preciso fazer uma consulta que cria três colunas que vêm de 2 tabelas que têm as seguintes relações:

A Tabela 1 possui ID da coluna que se refere à Tabela 2 com a coluna ID2

Na Tabela 1, há uma coluna chamada Usuário na Tabela 2, há uma coluna chamada nomes

Pode haver 1 usuário exclusivo, mas pode haver muitos nomes associados a esse usuário.

Se eu fizer o seguinte, recebo todos os dados, mas a coluna do usuário se repete para cada nome que associou. O que eu quero é ser usado para parecer único, mas as colunas de nomes aparecem com todos os nomes associados à coluna do usuário, mas separados por vírgulas, como o seguinte:

Selecione Usuário, Nomes da Tabela1 Tabela de junção esquerda 2 na Tabela1.id = Tabela2.id

Isso mostrará os usuários repetidos sempre que um nome aparecer para esse usuário. O que eu quero é parecer assim:

Usuário - Nomes
Cyrex - Pedrox, Rambo, Zelda
Homeboy - Carmen, Carlos, Tom, Sandra
Jerry - Seinfeld, Christine
Ninja - Soloboy

etc ....

Foi útil?

Solução

O que você está procurando é o Group_concat operador.

select user, GROUP_CONCAT(names SEPARATOR ',')
from TABLE1 left join TABLE2 on TABLE1.id = TABLE2.id
group by user
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top