Maison > base de données > tutoriel mysql > Comment puis-je concaténer des lignes dans MS Access en fonction d'une colonne de regroupement ?

Comment puis-je concaténer des lignes dans MS Access en fonction d'une colonne de regroupement ?

Barbara Streisand
Libérer: 2025-01-07 22:15:44
original
897 Les gens l'ont consulté

How Can I Concatenate Rows in MS Access Based on a Grouping Column?

Joindre des lignes dans une requête MS Access

Présentation

Cet article explore les défis rencontrés dans Microsoft Access lorsque l'on tente de joindre les valeurs de la deuxième colonne dans un tableau basé sur la première colonne. Notre objectif est de réaliser cette transformation grâce aux requêtes.

Question

Considérons un tableau contenant les données suivantes :

ColumnA ColumnB
1 abc
1 pqr
1 xyz
2 efg
2 hij
3 asd

Notre objectif est de concaténer les valeurs de ColumnB en une seule chaîne séparée par des virgules pour chaque valeur unique de ColumnA. Le résultat souhaité est le suivant :

ColumnA ColumnB
1 abc, pqr, xyz
2 efg, hij
3 asd

Solution

Pour réaliser cette connexion, nous utilisons une fonction personnalisée appelée "GetList". Cette fonction accepte une requête SQL comme paramètre et parcourt le jeu d'enregistrements renvoyé par la requête, concaténant les valeurs en une seule chaîne.

Ce qui suit est une requête contenant la fonction « GetList » :

<code class="language-sql">SELECT T.ColumnA, GetList("SELECT ColumnB FROM Table1 AS T1 WHERE T1.ColumnA = " & [T].[ColumnA],"",", ") AS ColumnBItems
FROM Table1 AS T
GROUP BY T.ColumnA;</code>
Copier après la connexion

Description

  1. La requête externe (SELECT T.ColumnA) récupère des valeurs uniques dans ColumnA.

  2. La fonction GetList est utilisée pour concaténer les valeurs de ColumnB en fonction de la valeur actuelle de ColumnA. Les paramètres de la fonction GetList sont :

    • Sous-requête : SELECT ColumnB FROM Table1 AS T1 WHERE T1.ColumnA = " & [T].[ColumnA]
    • Valeur initiale : "" (chaîne vide)
    • Séparateur de concaténation : ", " (virgule et espace)
  3. La clause GROUP BY regroupe les enregistrements par ColonneA pour garantir que les valeurs concaténées sont correctement regroupées.

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