Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa Tarde Pessoal,
Preciso de uma ajuda para concatenar dois resultado do meu case ( 'DEP1' E 'DEP2') , gostaria que o resultdado ficasse assim :
MODULOS
DEP1,DEP2
MEU SELECT
select
pccarreg.numcar CARGA,
pcempr.NOME_GUERRA,
PCCARREG.CODMOTORISTA,
pccarreg.DESTINO AS "DESTINO",
PCCARREG.DTFAT AS FATURADO,
(CASE WHEN PCPRODUT.MODULO = '2' THEN 'DEP2'
ELSE
'DEP1'
END) AS MODULOS
FROM PCCARREG
JOIN PCPEDC ON PCPEDC.NUMCAR = PCCARREG.NUMCAR
AND PCPEDC.POSICAO IN ('F','M')
JOIN PCEMPR ON PCEMPR.MATRICULA = PCCARREG.CODMOTORISTA
JOIN PCPEDI ON PCPEDI.NUMPED = PCPEDC.NUMPED
JOIN PCPRODUT ON PCPRODUT.CODPROD = PCPEDI.CODPROD
WHERE PCCARREG.DATAMON IN (:DATAMON)
GROUP BY
pccarreg.numcar,
pccarreg.CODMOTORISTA,
pcempr.NOME_GUERRA,
pccarreg.DESTINO,
PCCARREG.DTFAT ,
(CASE WHEN PCPRODUT.MODULO = '2' THEN 'DEP2'
ELSE
'DEP1'
END)
Valeu pelo feedback Motta,
usei o listagg , mas acho que não deu certo para o que eu queria.... usei o listagg e trouxe pra mim todos os modulos de cada produto do carregamento só que não agrupou ou eu estou errando em algo.
ficou assim o resultado
ex: carga modulos
15 1;1;1;1;1;1;1;1;1;1;1;2;2;2;2;2;2;2;2;2;2;8;8;8;8;8;8;8;8;8;8;8;8
Puts cara não consegui fazer esse procedimento acima.
usei over(partition by), ele agrupou os modulos aí faltou o distinct no inicio do meu select.
funcionou....kkkk
valeu pela dica o LISTAGG .
Pesquise por LISTAGG