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 ?
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!