Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

subconsulta retorna mais de uma linha


Você precisa usar uma agregação para combinar linhas. Você não pode mostrar todas as linhas em uma célula. Então, LISTAGG é o que você está procurando para concentrar strings.

Aqui está um exemplo de consulta:
SELECT  
NVL(TO_CHAR(TRANS.ID), 'NULL') AS ID, 
'HEADER',
NVL(
    TO_CHAR(
            (
                SELECT LISTAGG ( L_APP.DESCRIPTION ,',' ) 
                FROM  L_APP 
                WHERE  EXISTS  ( 
                                SELECT 1 
                                FROM TRANS 
                                WHERE L_APP.APP =                  TRANS.APP AND LANGUAGE = 2
                            )

           )
        ), 'NULL'
) AS KEY_EVENT