如何在SQL Server中将多行连接成一个字段

6

使用简单的查询,我可以做如下操作:

SELECT hobbies FROM peoples_hobbies WHERE person_id = 5;

并获得:

shopping

fishing  

coding

但是我只想要一个行和一列的结果:
shopping, fishing, coding

参考-- 我可以将多个MySQL行连接成一个字段吗?

我想在SQL Server中实现这个功能?

1个回答

8

SQL Server对于聚合字符串连接的支持不是很好。但是你可以这样做:

select stuff((select ', ' + hobbies
              from peoples_hobbies
              where person_id = 5
              for xml path ('')
             ), 1, 2, '') as hobbies;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接