CONCATENANDO LINHAS DE UMA TABELA EM UMA ÚNICA LINHA NA CONSULTA SQL NO ORACLE

Se você já precisou concatenar  várias linhas em uma única coluna, separando-as por vírgula, segue uma dica de como fazer essa consulta no exemplo  abaixo

Você tem uma TABELA tab_01 no seguinte formato :

“CAMPO”
—————
“familia”
“casais”
“saude”
“nerd”
“psiquiatria”

E você quer realizar uma consulta onde o conteúdo da tab_01 seja concatenado em uma única linha da seguinte forma

“CAMPO”
——————-
“casais,familia,nerd,psiquiatria,saude”

O consulta sql abaixo resolve seu problema no Oracle 10g ou superior

SELECT LTRIM(SYS_CONNECT_BY_PATH(CAMPO, ‘,’),’,’) CAMPO
FROM ( SELECT CAMPO,
ROW_NUMBER() OVER (ORDER BY CAMPO) FILA
FROM tab_01)
WHERE CONNECT_BY_ISLEAF = 1
START WITH FILA = 1 CONNECT BY PRIOR FILA = FILA – 1

 

No mysql você faz isso  com uma função chamada “group_concat”

fonte de referência: http://regifelix.com/2013/10/10/sql-concat-linha/