首页 > 代码库 > SQLServer 中实现类似MySQL中的group_concat函数的功能

SQLServer 中实现类似MySQL中的group_concat函数的功能

SQLServer中没有MySQL中的group_concat函数,可以把分组的数据连接在一起。

后在网上查找,找到了可以实现此功能的方法,特此记录下。

SELECT	a,	stuff((SELECT ‘,‘ + b FROM #tb WHERE a = t.a FOR xml path(‘‘)),		1,		1,		‘‘	)AS b from  # tb AS tGROUP BY	a;

先对a列进行分组,对分组中的b以Xml形式输出,再使用stuff将开关多出的,删掉。

 

具体实现参考:http://blog.itnmg.net/sqlserver-group_concat/

对于其实使用到的for xml path 参考 http://www.cnblogs.com/doubleliang/archive/2011/07/06/2098775.html

stuff 参考 http://msdn.microsoft.com/zh-cn/library/ms188043.aspx

SQLServer 中实现类似MySQL中的group_concat函数的功能