2013-08-05 79 views
1

我在MSAccess中有一個名爲ClaimQry的查詢,它提示用戶輸入參數valuationDate。我想運行ClaimQry以及一些評估日期,例如2011年1月1日,然後運行相同的查詢,並在2012年1月1日的另一個評估日期基於字段claimNumber加入兩個結果集。如何使用不同的參數連接兩個相同的查詢(MS Access)

我試圖

SELECT ClaimQuery.Total, ClaimQuery_1.Total 
FROM ClaimQuery 
INNER JOIN ClaimQuery AS ClaimQuery_1 ON ClaimQuery.[Claim #] = ClaimQuery_1.[Claim #]; 

但我只提示輸入一個估值日期,而不是兩個(因此我得到的數據是不正確的)。

編輯:開始認爲我的問題可能不清楚,所以我會試着舉個例子。

假設我運行ClaimQuery並將其作爲參數valuationDate的1/1/2011加入。我可能會得到一個結果集像

Claim# Total 
123 100 
231 200 
132 300 

然後我跑ClaimQuery和飼料它1/1/2012爲valuationDate參數,我得到

Claim# Total 
123 400 
231 500 
132 100 
213 600 

現在,我想執行這些聯接兩組,並得到類似

Claim# Total1 Total2 
123 100 400 
231 200 500 
132 300 100 

回答

0

我不相信訪問將允許你建立它使用參數查詢兩次查詢,並有數據庫引擎識別兩個九月arate相同參數名稱的實例。

我懷疑最接近你可以添加查詢作爲一個數據源,並添加一個子查詢使用第一個查詢的SQL,但其參數的名稱不同。

所以,如果ClaimQry看起來像這樣...

PARAMETERS date1 DateTime; 
SELECT [Total], [Claim #] 
FROM YourTable 
WHERE date_field = [date1]; 

這個查詢應該工作...

PARAMETERS date2 DateTime; 
SELECT ClaimQuery.Total, ClaimQuery_1.Total 
FROM 
    ClaimQuery 
    INNER JOIN 
     (
      SELECT [Total], [Claim #] 
      FROM YourTable 
      WHERE date_field = [date2] 
     ) AS ClaimQuery_1 
ON ClaimQuery.[Claim #] = ClaimQuery_1.[Claim #]; 

這是你想要的大概只有一半。但我不相信我們能讓你休息。

0

什麼香港專業教育學院做的是保存相同的查詢的2個實例,並在其中一人我設置year(P)-1所以後者我叫兩個實例與union all和它們共享相同的參數 - >僅有1輸入2個結果

select * from 
Query_1 
union all 
select * from 
Query_1_1 
相關問題