Oracle SQL : combinaison de valeurs de colonnes sur plusieurs lignes
Ce guide présente des méthodes efficaces pour concaténer les valeurs de colonnes de plusieurs lignes dans Oracle SQL. La fonction LISTAGG
offre une solution simple :
<code class="language-sql">SELECT pid, LISTAGG(Desc, ' ') WITHIN GROUP (ORDER BY seq) AS description FROM B GROUP BY pid;</code>
Cette requête effectue les actions suivantes :
pid
: Les lignes du tableau B
sont regroupées en fonction de la colonne pid
.Desc
: La fonction LISTAGG
concatène les valeurs de la colonne Desc
pour chaque groupe pid
. Un espace (' ') est utilisé comme délimiteur.seq
: L'ordre de concaténation au sein de chaque groupe est déterminé par la colonne seq
.description
résultante : La chaîne concaténée de chaque groupe pid
est affectée à la colonne description
.Pour récupérer des valeurs pid
spécifiques, joignez cet ensemble de résultats à la table A
.
Considération importante : LISTAGG
est optimisé pour les VARCHAR2
colonnes. Pour d'autres types de données, explorez d'autres techniques d'agrégation de chaînes Oracle.
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!