存储过程的输出应该单行

output of stored procedure should come in single line

以下是我的查询,它在多行中给出了我想要在一行中的输出

create table #temptable
 (userid int,UserName nvarchar(50),WardId bigint,ZoneId bigint,WardName nvarchar(255))
 insert into #temptable    
 exec GetWardWiseHierarchyUser  @wardid --354 
 SELECT distinct WardId FROM #temptable

 declare @StringWardId nvarchar(max)
 select   @StringWardId=(select  stuff((select  ',' + cast(wardId as nvarchar(50)) from #temptable
FOR XML PATH(''), TYPE).value('.', 'nvarchar(max)'), 1, 1,'' ))

此 SP 提供以下输出

WardId
10054
10056
10057
10058

但我想要这样的输出

WardId
10054,10056,10057,10058

请帮我解决这个问题

COALESCE 仅将 null 替换为“”

DECLARE @WardId VARCHAR(8000) 
    SELECT @WardId = COALESCE(@WardId + ', ', '') + WardId
    FROM tbl