Sql 从SELECT结果创建varchar

Sql 从SELECT结果创建varchar,sql,sql-server,tsql,sql-server-2008,Sql,Sql Server,Tsql,Sql Server 2008,我需要用结果名填充@result,以“,”分隔。 例如,如果SELECT返回'A'、'B'和'C',@结果应该是'A,B,C'。 这是Microsoft SQL Server 2008 DECLARE @result varchar(MAX) SELECT NAME FROM Table WHERE ID = @Id 享受:D试试这个 DECLARE @result varchar(MAX) SET @result = ''; SELECT @result = @res

我需要用结果名填充@result,以“,”分隔。 例如,如果SELECT返回'A'、'B'和'C',@结果应该是'A,B,C'。 这是Microsoft SQL Server 2008

DECLARE @result varchar(MAX)

SELECT 
  NAME
FROM
  Table
WHERE
  ID = @Id
享受:D

试试这个

DECLARE @result varchar(MAX)
SET @result = '';

SELECT 
  @result = @result + NAME + ','
FROM
  Table
WHERE
  ID = @Id

SET @result = SUBSTRING(@result, 1, LEN(@result) - 1)

SELECT @result

将@Contribution声明为VARCHARMAX 设置@贡献= 选择RTRIMLtrimC.strname+';' 来自tbl M tbl2.ID=tbl.CID上的内部联接tbl2 其中M.PID=@PID ORDER BY C.Orderby 对于XML路径

打印@Contribution

可能的副本
DECLARE @result varchar(MAX)
SET @result = '';

SELECT 
  @result = @result + NAME + ','
FROM
  Table
WHERE
  ID = @Id

SET @result = SUBSTRING(@result, 1, LEN(@result) - 1)

SELECT @result
declare @result varchar(max)

select @result = COALESCE(@result + ', ', '') + name
from table