HOw to get CSV value for following scenario

2019-07-16 16:04发布

Here's my current table data.

AccountNumber         Product
------------------------------
00505871              Product1
00505871              Product2
00503297              Product3
00900004              Product4
00505871              Product3
00514884              Product3
00503297              Product2
00505871              Product1

How can I achieve following result.

AccountNumber        ProductString
------------------------------------------------
00505871             Product1,Product2,Product3
00503297             Product2,Product3
00900004             Product4
00514884             Product3

Thanks,

Ashish Chotalia

2条回答
老娘就宠你
2楼-- · 2019-07-16 16:32

Below solution worked for me.

1.

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

2.

select AccountNumber,   
       stuff((select distinct ',' +Product
                  from YourTable t2   
                  where t2.AccountNumber = t1.AccountNumber   
                  group by Product   
                  for xml path('')),1,1,'') as ProductString  
    from YourTable t1  
    group by AccountNumber  
查看更多
干净又极端
3楼-- · 2019-07-16 16:34
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
查看更多
登录 后发表回答