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 t
GROUP 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM