SQL Server:GROUP BY子句獲取逗號分隔的值


SQL Server:GROUP BY子句獲取逗號分隔的值

原始數據為以下數據:

ID    ReportId     Email
1     1            a@a.com
2     2            b@b.com
3     1            c@c.com
4     3            d@d.com
5     3            e@e.com


我們要分組將相同的內容逗號分隔放一列中,結果應為:

ReportId     Email
1            a@a.com, c@c.com
2            b@b.com
3            d@d.com, e@e.com

使用FOR XML PATH構造來執行語句:
SELECT ReportId, Email = 
    STUFF((SELECT ', ' + Email
           FROM your_table b 
           WHERE b.ReportId = a.ReportId 
          FOR XML PATH('')), 1, 2, '')
FROM your_table a
GROUP BY ReportId
 


免責聲明!

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



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