Dados lado a lado

MySQL

30/06/2020

Bom dia,

Tenho duas tabelas, cliente e telefone.

Na tabela cliente armazeno os dados referente ao mesmo. Na tabela telefone adiciono vários telefones dos clientes, quantos forem necessários.
Minha dúvida:
Como trazer numa consulta SQL todos os telefones de um determinado cliente, porém, um ao lado do outro. Ex.:

1 - João da Silva - (48)3445-4555 - (48)9 9944-7777 - (48)9 8855-3322

Lembrando que na tabela telefone gravo id_cliente e telefone. num relacionamento um pra muitos.

Obrigado.
Fernando Generoso

Fernando Generoso

Curtidas 0

Melhor post

Jothaz

Jothaz

30/06/2020

Tem anos que não uso MySQL e não tenho com testar, pois só tenho acesso a Oracle, Sql Server e PostgreSQL, mas me lembro que tinha
GROUP_CONCAT
que talvez possa ajudá-lo.

Dá uma pesquisada no Google que terá vários exemplos de uso.
GOSTEI 1

Mais Respostas

Fernando Generoso

Fernando Generoso

30/06/2020

Tem anos que não uso MySQL e não tenho com testar, pois só tenho acesso a Oracle, Sql Server e PostgreSQL, mas me lembro que tinha
GROUP_CONCAT
que talvez possa ajudá-lo.

Dá uma pesquisada no Google que terá vários exemplos de uso.


Obrigado Jothaz!

Mas o que eu gostaria de fazer seria transformar linhas em colunas, ou seja, cada telefone em uma coluna. Acredito que isso não seja possível somente usando SQL, mas se souberes, agradeço.

Obrigado.
GOSTEI 0
Jothaz

Jothaz

30/06/2020

MySQL realmente tem muito tempo que não uso.

Os caminhos são:

1 - Trabalhar com cursor e concatenar as colunas o que dependendo de cenário pode comprometer a performance.

2 - Pesquise por Pivot, no SQL Server é manha fazer usando Pivot, não sei se o MySQL tem.

Não quero ser chato, mas pelo que me lembre o GROUP_CONCAT fazia isso.

Pena que não possa ajudar mais.

Mas pesquisando no Google certamente v encontrará a soluçã.
GOSTEI 1
Fernando Generoso

Fernando Generoso

30/06/2020

MySQL realmente tem muito tempo que não uso.

Os caminhos são:

1 - Trabalhar com cursor e concatenar as colunas o que dependendo de cenário pode comprometer a performance.

2 - Pesquise por Pivot, no SQL Server é manha fazer usando Pivot, não sei se o MySQL tem.

Não quero ser chato, mas pelo que me lembre o GROUP_CONCAT fazia isso.

Pena que não possa ajudar mais.

Mas pesquisando no Google certamente v encontrará a soluçã.


Obrigado Jothaz,

Vou dar uma olhada no Pivot e ver se dá pra implementar no MySQL.
GOSTEI 0
POSTAR