Dados lado a lado

30/06/2020

0

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

Responder

Post mais votado

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.

Jothaz

Jothaz
Responder

Mais Posts

01/07/2020

Fernando Generoso

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.
Responder

01/07/2020

Jothaz

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çã.
Responder

03/07/2020

Fernando Generoso

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.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar