Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment renvoyer plusieurs valeurs dans une colonne (T-SQL) ?

Vous pouvez utiliser une fonction avec COALESCE.

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)
FROM UserAliases
GROUP BY UserID

GO