Maison > base de données > tutoriel mysql > Comment puis-je concaténer les résultats d'une requête SQL dans Oracle ?

Comment puis-je concaténer les résultats d'une requête SQL dans Oracle ?

Patricia Arquette
Libérer: 2024-12-31 10:20:11
original
231 Les gens l'ont consulté

How Can I Concatenate SQL Query Results in Oracle?

Concaténation des résultats des requêtes SQL dans Oracle

Pour concaténer les résultats d'une requête SQL dans Oracle, vous pouvez utiliser la fonction LISTAGG en conjonction avec la fonction CONCAT. Cette approche vous permet de combiner les valeurs de plusieurs lignes en une seule chaîne délimitée.

Par exemple, considérons le tableau suivant contenant des données sur les noms et les prix :

| NAME | PRICE |
|---|---|
| A | 2 |
| B | 3 |
| C | 5 |
| D | 9 |
| E | 5 |
Copier après la connexion

Pour afficher toutes les valeurs dans une seule ligne, séparée par des virgules, vous pouvez utiliser la requête suivante :

SELECT
  LISTAGG(CONCAT(CONCAT(NAME, ','), PRICE), '|') WITHIN GROUP (ORDER BY NAME) AS CONCATDATA
FROM
  TABLE_NAME;
Copier après la connexion

Voici comment cette requête fonctionne :

  • La fonction LISTAGG est utilisée pour agréger les valeurs concaténées de chaque ligne.
  • La fonction CONCAT combine les valeurs NOM et PRIX en une seule chaîne.
  • Le '|' L'argument dans LISTAGG spécifie le délimiteur (dans ce cas, une virgule) à utiliser entre les valeurs concaténées.
  • La clause WITHIN GROUP garantit que la concaténation est effectuée au sein de groupes, dans ce cas, regroupés par NAME.

Le résultat résultant sera une seule ligne avec toutes les valeurs concaténées séparées par des virgules, comme vous le souhaitez :

CONCATDATA
--------------------
A,2|B,3|C,5|D,9|E,5|
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal