語法如下:
SELECT STUFF((select ','+c.MR_RolName from 查詢語句 FOR XML PATH('')),1,1,'');
解釋如下
1.STUFF函數。表示截取拼接函數
第一個參數表示原字符串
第二個參數表示從哪個坐標開始,參數從1開始
第三個參數表示截取幾位。
最后一個參數表示將什么內容插入到截取部分。
2.FOR XML PATH('')
表示將查詢結果按照xml形式展示,path里面的內容表示父節點的名稱,這里的''表示為空
比如我在這里沒有給 ','+c.MR_RolName 添加自定義名稱,所以為空,加入定義了,比如myname,就會變成
<myname>','+c.MR_RolName</myname><myname>','+c.MR_RolName</myname>。。。
以一行展示,但是沒有定義的話,就是
','+c.MR_RolName ','+c.MR_RolName
那么就很清晰了。上面的語句,就是先把查詢結果換成逗號加參數的形式以一行展示,然后去除掉第一個逗號,賦值為''
如果還不是很清楚的話,可以參考其他博客:
http://www.360doc.com/content/20/0214/22/11881101_892070529.shtml