Olá galera,
Há um tempo atrás, fiz um post sobre concatenar registros no PostgreSQL e no SQL Server. Você pode vê-lo clicando aqui. Se você pesquisar no Google, verá que no MySQL não tem muito segredo. Mostrarei somente uma dica para consultas que envolvem muitos registros.
Supondo que precisamos coletar e-mails de um banco de dados para enviar um e-mail de marketing.
SELECT GROUP_CONCAT(DISTINCT c.email SEPARATOR '; ') FROM clientes c;
O resultado da consulta acima já retorna TODOS os e-mails correto ?! ERRADO. O limite padrão para o tamanho desse resultado é de 1024 bytes. Para que o resultado possa ser exibido na sua totalidade é necessário acrescentar mais um comando nesse script.
SET SESSION group_concat_max_len = 1000000; SELECT GROUP_CONCAT(DISTINCT c.email SEPARATOR '; ') FROM clientes c;
No script acima, modifiquei o valor padrão para 1000000 bytes através da variável de sistema group_concat_max_len.
Espero que a dica tenha sido útil.
Um grande abraço a todos e até a próxima.
Nenhum comentário:
Postar um comentário