加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – SSRS – Group_Concat等效使用表达式?

发布时间:2020-12-12 16:26:09 所属栏目:MsSql教程 来源:网络整理
导读:我可以在Sql Server Reporting服务中使用表达式来组合组中列的所有值吗?我正在尝试完成MySQL的group_concat函数所做的事情,但是在报告中(不在查询中). 例.我想制作这些数据: Group 1 ValueTest A BTest 2 C D 在报告中看这个: Group 1 Valuetest A,Btest 2
我可以在Sql Server Reporting服务中使用表达式来组合组中列的所有值吗?我正在尝试完成MySQL的group_concat函数所做的事情,但是在报告中(不在查询中).

例.我想制作这些数据:

Group 1  Value
Test
         A
         B
Test 2
         C
         D

在报告中看这个:

Group 1 Value
test    A,B
test 2  C,D

解决方法

尝试这样的东西(适用于SQL Server 2005及以上版本):
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,'b' union
select 1,'c' union
select 2,'test2','a' union
select 2,'c' union
select 3,'test3','b' union
select 3,'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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读