如果要获取以下方案的CSV值

ash*_*lia 2 sql-server sql-server-2005

这是我当前的表格数据.

AccountNumber         Product
------------------------------
00505871              Product1
00505871              Product2
00503297              Product3
00900004              Product4
00505871              Product3
00514884              Product3
00503297              Product2
00505871              Product1
Run Code Online (Sandbox Code Playgroud)

如何实现以下结果?

AccountNumber        ProductString
------------------------------------------------
00505871             Product1,Product2,Product3
00503297             Product2,Product3
00900004             Product4
00514884             Product3
Run Code Online (Sandbox Code Playgroud)

谢谢,

Ashish Chotalia

Joe*_*lli 5

select AccountNumber, 
       stuff((select ',' + Product 
                  from YourTable t2 
                  where t2.AccountNumber = t1.AccountNumber 
                  order by Product 
                  for xml path('')),1,1,'') as ProductString
    from YourTable t1
    group by AccountNumber
Run Code Online (Sandbox Code Playgroud)

  • @ ashish.chotalia:正如您在独立发布的答案中所展示的那样,只需在我给您的解决方案中添加`distinct`关键字即可. (2认同)