SSRS - Group_Concat Equivalent using an Expression?

后端 未结 1 1389
野趣味
野趣味 2020-12-18 15:08

Can I use expressions in Sql Server Reporting services to combine all of the values of a column within a group? I\'m trying to accomplish what MySQL\'s group_concat functio

相关标签:
1条回答
  • 2020-12-18 15:23

    try something like this (works on SQL Server 2005 and up):

    set nocount on;
    declare @t table (id int, name varchar(20), x char(1))
    insert into @t (id, name, x)
    select 1,'test1', 'a' union
    select 1,'test1', 'b' union
    select 1,'test1', 'c' union
    select 2,'test2', 'a' union
    select 2,'test2', 'c' union
    select 3,'test3', 'b' union
    select 3,'test3', 'c' 
    SET NOCOUNT OFF
    
    SELECT p1.id, p1.name,
              stuff(
                       (SELECT
                            ', ' + x
                            FROM @t p2
                            WHERE p2.id=p1.id
                            ORDER BY name, x
                            FOR XML PATH('') 
                       )
                       ,1,2, ''
                   ) AS p3
          FROM @t p1
         GROUP BY 
            id, name
    

    OUTPUT:

    id          name                 p3
    ----------- -------------------- ---------
    1           test1                a, b, c
    2           test2                a, c
    3           test3                b, c
    
    (3 row(s) affected)
    
    0 讨论(0)
提交回复
热议问题