sql查询:多行追加显示在一行中

时间:2010-12-30 11:26:06

标签: sql sql-server sql-server-2008

以下数据

查询:

Select EmployeeName from employee

输出

EmployeeName
------------
John
Micheal
Annie
Marry 
Scott

我希望以上内容如下:

EmployeeName
------------------------------
John Micheal Annie Marry Scott

可以指导如何查询(在sql server 2008中)将多行数据显示为一行。

2 个答案:

答案 0 :(得分:1)

在SQL Server 2008中,您可以使用以下内容:

SELECT 
   STUFF((SELECT ' ' + EmployeeName
          FROM dbo.Employee
          FOR XML PATH('')), 1, 1, '')

答案 1 :(得分:0)

好吧,如果您使用的是mysql,可以使用GROUP_CONCAT:http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat,如下所示:

select GROUP_CONCAT(EmployeeName SEPARATOR ' ') FROM employee

对于其他数据库,您可以尝试使用Google搜索数据库名称和GROUP_CONCAT,您可能会找到一些东西。