Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie gibt man mehrere Werte in einer Spalte zurück (T-SQL)?

Sie können eine Funktion mit COALESCE verwenden.

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