Oracle
 sql >> Base de données >  >> RDS >> Oracle

SSIS:Oracle Plusieurs lignes sur une sortie de colonne sans STRAGG

Il existe différentes manières d'effectuer une agrégation de chaînes pour produire une liste séparée par des virgules - voir ceci lien pour plus de détails . En vous basant sur l'exemple du lien, essayez :

SELECT x.id,
       LTRIM(MAX(SYS_CONNECT_BY_PATH(x.language,','))
       KEEP (DENSE_RANK LAST ORDER BY curr),',') AS employees
  FROM (SELECT a.id,
               b.language,
               ROW_NUMBER() OVER (PARTITION BY a.id ORDER BY b.language) AS curr,
               ROW_NUMBER() OVER (PARTITION BY a.id ORDER BY b.language) -1 AS prev
          FROM TABLE_1 a
          JOIN TABLE_2 b ON b.id = a.langid) x
GROUP BY x.id
CONNECT BY prev = PRIOR curr AND x.id = PRIOR x.id
START WITH curr = 1;