0

我在 SSRS(Microsoft SQL Server Reporting Services)中返回一个 SQL 数据集,它具有如下一对多关系:

ID REV 事件

6117 B FTG-06a
6117 B FTG-06a PMT
6117 B GTI-04b
6124 A GBI-40
6124 A GTI-04b
6124 A GTD-04c
6136 M GBI-40
6141 C GBI-40

我想在最后一列 [Event] 中将其显示为逗号分隔的字段,如下所示:

ID REV 事件
6117 B FTG-06a,FTG-06a PMT,GTI-04b
6124 A GBI-40, GTI-04b, GTD-04c
6136 M GBI-40
6141 C GBI-40

有没有办法在 SSRS 方面做到这一点?

4

1 回答 1

0

您希望在 SQL 端而不是 SSRS 端进行连接,这样您就可以将这些结果组合到一个存储过程中,例如,然后将其发送到报告层。

请记住,数据库是用来处理数据的。该报告应该仅用于表示层,因此无需为尝试获取解析此数据的函数而感到疲倦。

最好的办法是在存储过程级别执行此操作,并将数据从存储过程推送到报告。

根据您的编辑,您将这样做:

要连接字段,请查看 COALESCE。然后,您将获得您列出的所有值的字符串 concat。这是一个例子:

use Northwind

declare @CategoryList varchar(1000)
select @CategoryList = coalesce(@CategoryList + ‘, ‘, ”) + CategoryName from Categories

select ‘Results = ‘ + @CategoryList

现在,因为您有一个额外的字段,即 ID 值,所以您不能只在查询中添加值,您需要使用 CURSOR ,否则您将收到一个臭名昭著的错误,即在计算查询中包含其他字段。

这里查看更多帮助,确保您查看底部专门由“Alberto”发布的评论,他与您有类似的问题,您应该能够使用他的评论找出答案。

于 2010-07-19T18:35:17.453 回答