orig_system
a DNB
comme valeur, et ils ont beaucoup de owner_table_id
associé à DNB
. Je suis en train d'essayer de ramener tous les ID de plusieurs lignes à une seule ligne. Mais Oracle 10g ne prend pas en charge listagg
. Existe-t-il un autre moyen de concaténer tous les OWNER_TABLE_ID
dans une seule ligne pour DNB.Comment simuler la fonctionnalité 'LISTAGG' dans Oracle 10g?
Ci-dessous la requête utilisée:
SELECT OWNER_TABLE_ID,LISTAGG (ORIG_SYSTEM,',') WITHIN GROUP (ORDER BY ORIG_SYSTEM)
from APPS.HZ_ORIG_SYS_REFERENCES
WHERE ROWNUM < 100 GROUP BY OWNER_TABLE_ID
est Ci-dessous les données de l'échantillon:
OWNER_TABLE_ID, ORIG_SYSTEM
182403 DNB
16604 DNB
84818 DNB
172891 DNB
16605 DNB
84819 DNB
205544 DNB
16606 DNB
84820 DNB
Résultat attendu:
ORIG_SYSTEM OWNER_TABLE_ID,
DNB 182403,16604,84818,72891,16605,84819,205544,16606,84820"
Peut-être avez-vous besoin de 'GROUP BY' autre chose que' OWNER_TABLE_ID'? – mustaccio
Une collection complète d'approches: http://stackoverflow.com/questions/14243131/concatenate-results-from-a-sql-query-in-oracle – Codo
Voir [** Oracle Oracle Aggregation Techniques **] (https://lalitkumarb.wordpress.com/category/oracle-string-aggregation/) –