是否存在JOIN语句输出的限制

时间:2016-06-27 14:54:04

标签: c# reporting-services sql-server-2008-r2 ssrs-2008-r2

在报告服务中,用户可以选择包含不同客户的列表。然后,报告生成所选客户的总数。我在报告中有2个表,其中包含总收入。但是,当您选择所有客户时,2个表的总数会有所不同。但是,对于每个客户,表格都匹配。

在第一个表格中,我使用了一个简单的查询:

select revenue from customers where customernumber in (@CustomerNumber)

这个总是显示正确的数字。但是,对于第二个表,我必须调用存储过程:

create procedure calculaterevenue (
   @customernumber varchar(1200), @customercategory varchar(255)=NULL 
)

在该过程中,表值函数用于获取逗号分隔列表中的所有客户编号,然后使其可用于in运算符:

and customernumber in (select value from fnStringToList',',@customernumber)

在报告的数据集中,我添加了一个@Customers参数

=JOIN(Parameters!Customernumber.Value,",")

我用

打电话给我的程序
exec calculaterevenue (@Customers)

这非常有效,直到您选择了很多客户。我怀疑问题出在JOIN中。 JOIN语句是否有最大输出?

0 个答案:

没有答案