2009-05-19 149 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