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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,'')

参考技术A 可以参考下这篇帖子
http://zhidao.baidu.com/link?url=3p6gIBaduBOcPJUF-JD7FDjuwFD1sVKdHYt-OBIQ3KECZyD1RUC67GR0x8MyEeaDBp3u3UBIBnSai20NhU5jta

以上是关于SQL 怎样将查询出某列的多行数据,变为一行显示? 通过SQL语句查询出结果 AutoID cT的主要内容,如果未能解决你的问题,请参考以下文章