Maison >base de données >tutoriel mysql >Comment puis-je concaténer les valeurs de colonnes de plusieurs lignes dans Oracle SQL ?

Comment puis-je concaténer les valeurs de colonnes de plusieurs lignes dans Oracle SQL ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-23 15:17:16468parcourir

How Can I Concatenate Column Values from Multiple Rows in Oracle SQL?

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 :

  1. Regroupement par pid : Les lignes du tableau B sont regroupées en fonction de la colonne pid.
  2. Concaténation des valeurs Desc : La fonction LISTAGG concatène les valeurs de la colonne Desc pour chaque groupe pid. Un espace (' ') est utilisé comme délimiteur.
  3. Ordre par seq : L'ordre de concaténation au sein de chaque groupe est déterminé par la colonne seq.
  4. Colonne 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn