Maison >base de données >tutoriel mysql >Comment concaténer les valeurs de colonnes de plusieurs lignes dans Oracle SQL ?
Oracle SQL : combinaison de valeurs de colonnes sur plusieurs lignes
Ce guide montre comment concaténer les valeurs de colonnes de plusieurs lignes dans une base de données Oracle à l'aide de SQL. Nous explorerons des méthodes efficaces, notamment les fonctions d'agrégation et la fonction LISTAGG
.
Une approche efficace utilise la fonction LISTAGG
:
<code class="language-sql">SELECT pid, LISTAGG(Desc, ' ') WITHIN GROUP (ORDER BY seq) AS description FROM TableB GROUP BY pid;</code>
Cette requête concatène intelligemment les valeurs Desc
de TableB
pour chaque PID
distinct, en utilisant un espace comme séparateur. La sortie regroupe les résultats par PID
, fournissant une seule chaîne concaténée pour chacun.
Pour intégrer les PID
valeurs de TableA
, une jointure est nécessaire :
<code class="language-sql">SELECT a.PID, b.description FROM TableA a INNER JOIN (SELECT pid, LISTAGG(Desc, ' ') WITHIN GROUP (ORDER BY seq) AS description FROM TableB GROUP BY pid) b ON a.PID = b.pid;</code>
Cette requête jointe fournit le résultat final : chaque ligne affiche le PID
de TableA
à côté de sa chaîne Desc
concaténée correspondante de TableB
.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!