Maison > base de données > tutoriel mysql > Comment concaténer des relations un-à-plusieurs en colonnes uniques dans Informix ?

Comment concaténer des relations un-à-plusieurs en colonnes uniques dans Informix ?

Patricia Arquette
Libérer: 2025-01-01 11:22:10
original
667 Les gens l'ont consulté

How to Concatenate One-to-Many Relationships into Unique Columns in Informix?

Concaténer des relations un-à-plusieurs en tant que colonnes uniques dans Informix

La conversion de relations un-à-plusieurs en deux colonnes uniques nécessite une base de données spécifique fonctions et syntaxe. Cette question explore comment réaliser cette conversion à l'aide d'Informix SQL, similaire à l'approche décrite dans les questions StackOverflow référencées.

Fonction d'agrégation définie par l'utilisateur

La solution proposée implique création d'une fonction d'agrégation définie par l'utilisateur nommée group_concat. Cette fonction utilise quatre sous-fonctions :

  • gc_init : initialise la chaîne vide.
  • gc_iter : ajoute de manière itérative des valeurs à la chaîne, séparées par des virgules.
  • gc_comb : Combine les résultats partiels générés à partir de différentes partitions.
  • gc_fini : Renvoie le résultat final chaîne concaténée.

Requête de concaténation

Pour concaténer les codes de chaque identifiant unique, exécutez la requête suivante :

SELECT id, group_concat(codes)
FROM anonymous_table
GROUP BY id;
Copier après la connexion

Exemple de tableau et résultats

L'exemple de table anonyme_table contient des codes en double pour plusieurs Pièces d'identité. La sortie de la requête produit le résultat souhaité :

id    codes
63592 PELL
58640 SUBL, USBL
73571 PELL, USBL, SUBL
Copier après la connexion

Notes

  • L'agrégat group_concat peut gérer n'importe quel type de données convertible en VARCHAR(255), tels que les types numériques et temporels.
  • La taille globale est limitée à 2048 octets par défaut (jusqu'à 16 380 octets dans Informix 12.10.FC5), ce qui pose des limitations potentielles pour les données volumineuses.
  • Pour supprimer la fonction d'agrégation, utilisez les commandes drop fournies.

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