2009-05-19 150 views
4

我有两个存储过程,我希望在我的存储过程中使用,但是一旦我这样做,它将无法加载错误:“提供的无效参数,没有检索到行集。如果我删除其中一个,它会再次开始工作。如何在水晶报表中使用多个存储过程?

我有水晶报表中设置是这样的:

Report: 
    Group By Tenant.ReferedBy 
    stored proc here that calculates the tenant's balance

和第二存储过程是在选择报告。我只想通过状态标志选择租户,并从存储过程中获取状态标志。

无论如何这两种程序都没有关联在一起。一个返回一个值(select中的一个),另一个返回多个(分组中的一个)。既不接受任何参数,也只是存储在数据库中的简单SQL语句。

首先PROC:GetAllTenantBalances

SELECT (SUM(tblTransaction.AmountPaid) - SUM(tblTransaction.AmountCharged)) AS TenantBalance, tblTransaction.TenantID 
    FROM tblTransaction 
    GROUP BY tblTransaction.TenantID 

二PROC:[GetTenantStatusID_Current]

SELECT ID FROM tblTenantStatus WHERE Description = 'Current' 

谁能告诉我为什么我不能做到这一点,如何解决呢?

回答

1

您可以将第一个sp更改为仅“当前”租户的总和。或者,如果您必须保留两个sp,则必须转到数据库专家并通过tenant_id加入他们。

-1

除非有所改变,否则不能从报表中调用多个特效。我怀疑你可以调用多个select语句。您将需要创建一个返回这两个数据的proc或为第二个proc创建一个子报表。

+0

A '多' select语句仅仅是一个 '与' – Malfist 2009-05-19 16:26:09

+0

你是说加入? “AND”通常是“On”子句或过期的“Where”子句的一部分。 – 2009-05-19 20:22:59

0

您还可以使用子报告为您提供所需的数据。在主要的SP上使用,然后在子报告上使用另一个SP。

-JFV