SQL 怎样将查询出某列的多行数据,变为一行显示? 通过SQL语句查询出结果 AutoID cT

SQL 怎样将查询出某列的多行数据,变为一行显示?

通过SQL语句查询出结果
AutoID cType
--------------
1 出国
2 回国

怎样显示成:

出国,回国

我现在写了一个函数,如下:
GO
CREATE FUNCTION dbo.SplitString
(
@field varchar (50) ,---需拼接的字段
@table varchar(50) ,---表名
@id varchar(50) ---AutoID的值
)
RETURNS varchar(8000)
AS
BEGIN
DECLARE @input varchar(8000)
SELECT @input = (@input+',','') + @field FROM @table WHERE AutoID = @id
RETURN @input
END
GO

在查询分析器中执行以上语句时,提示"必须声明变量'@table'。",快跪了,求高人帮忙。

你好,你看看参考一下。

DECLARE @t TABLE(id int, value varchar(10))
INSERT @t SELECT 1, '出国'
UNION ALL SELECT 2, '回国'

SELECT [values]= STUFF((REPLACE(REPLACE((SELECT value FROM @t  FOR XML PATH('')),'<value>',','),'</value>','')),1,1,'')

温馨提示:答案为网友推荐,仅供参考