Maison > base de données > tutoriel mysql > Comment puis-je combiner plusieurs lignes en une seule colonne avec des valeurs séparées par des virgules à l'aide de T-SQL ?

Comment puis-je combiner plusieurs lignes en une seule colonne avec des valeurs séparées par des virgules à l'aide de T-SQL ?

Patricia Arquette
Libérer: 2025-01-12 09:53:43
original
864 Les gens l'ont consulté

How Can I Combine Multiple Rows into a Single Column with Comma-Separated Values Using T-SQL?

Renvoi de plusieurs valeurs dans une seule colonne en T-SQL

Obtenir plusieurs valeurs de différentes lignes et les fusionner en une seule colonne est une tâche courante dans un environnement SQL Server. Ceci est particulièrement utile dans des scénarios tels que la récupération de tous les alias associés à un utilisateur spécifique.

Pour y parvenir efficacement, envisagez d'utiliser une fonction personnalisée qui utilise la fonction COALESCE. Cette approche vous permet de concaténer progressivement les valeurs récupérées en une seule chaîne, fournissant finalement le résultat souhaité.

Voici un exemple de fonction appelée GetAliasesById :

<code class="language-sql">CREATE FUNCTION [dbo].[GetAliasesById]
(
    @userID int
)
RETURNS varchar(max)
AS
BEGIN
    declare @output varchar(max)
    select @output = COALESCE(@output + ', ', '') + alias
    from UserAliases
    where userid = @userID

    return @output
END</code>
Copier après la connexion

Après avoir défini cette fonction, vous pouvez l'intégrer dans votre requête pour obtenir le résultat souhaité :

<code class="language-sql">SELECT UserID, dbo.GetAliasesByID(UserID)
FROM UserAliases
GROUP BY UserID</code>
Copier après la connexion

Cette requête renverra une table avec deux colonnes : UserID et Alias. La colonne Alias ​​contiendra une liste séparée par des virgules de tous les alias associés à chaque utilisateur, répondant à l'exigence spécifiée de renvoyer plusieurs valeurs dans une seule colonne.

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