Maison >base de données >tutoriel mysql >Comment récupérer plusieurs valeurs d'une seule colonne dans SQL Server à l'aide de T-SQL ?

Comment récupérer plusieurs valeurs d'une seule colonne dans SQL Server à l'aide de T-SQL ?

DDD
DDDoriginal
2025-01-12 08:11:42489parcourir

How to Retrieve Multiple Values from a Single Column in SQL Server Using T-SQL?

Techniques T-SQL pour récupérer plusieurs valeurs à partir d'une seule colonne

Dans la gestion de bases de données SQL Server, récupérer efficacement plusieurs valeurs associées à un seul enregistrement est une tâche courante. Cela implique souvent des tables avec une relation un-à-plusieurs, où un seul identifiant est lié à plusieurs valeurs associées. Cet article présente une méthode robuste utilisant les fonctions T-SQL et la manipulation de chaînes.

Considérons une table UserAliases où chaque utilisateur peut avoir plusieurs alias. Le défi réside dans la récupération de tous les alias d'un utilisateur spécifique dans une seule colonne. Cela peut être résolu avec élégance en combinant la fonction COALESCE avec une fonction définie par l'utilisateur.

Le code T-SQL suivant illustre cette solution :

<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;
GO

SELECT UserID, dbo.GetAliasesByID(UserID) AS Aliases
FROM UserAliases
GROUP BY UserID;
GO</code>

La fonction GetAliasesById prend un userID en entrée et renvoie une chaîne séparée par des virgules de tous les alias associés. COALESCE gère les valeurs nulles potentielles, garantissant une sortie correctement formatée. L'instruction principale SELECT appelle ensuite cette fonction pour chaque utilisateur, ce qui donne une seule colonne contenant tous les alias pour chaque ID utilisateur.

Cette approche fournit un moyen concis et efficace de gérer et d'afficher plusieurs valeurs liées à une seule entité, simplifiant ainsi la gestion des données au sein de vos applications T-SQL.

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