存储过程的输出应该单行
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
以下是我的查询,它在多行中给出了我想要在一行中的输出
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