2016-09-30 75 views
1

我使用Access數據庫跟蹤個人年假&病假(AL/SL)餘額,因爲我累計和使用休假時間。將兩個數據庫查詢結合在一起

我有一個查詢,它確定哪些薪酬期符合獲得休假的條件,並顯示每個期間的休假金額。 (目前,每個爲AL/SL每個期間。4小時)

--- qryEarned Leave ------------------------ 
Period  PP  Code Earned 
2/14/2015 03-1 AL  4 
2/14/2015 03-1 SL  4 
2/28/2015 04-1 AL  4 
2/28/2015 04-1 SL  4 
3/14/2015 05-1 AL  4 
3/14/2015 05-1 SL  4 
3/28/2015 06-1 AL  4 
3/28/2015 06-1 SL  4 
4/11/2015 07-1 AL  4 
4/11/2015 07-1 SL  4 
4/25/2015 08-1 AL  4 
4/25/2015 08-1 SL  4 
5/9/2015 09-1 AL  4 
5/9/2015 09-1 SL  4 
5/23/2015 10-1 AL  4 
5/23/2015 10-1 SL  4 
6/6/2015 11-1 AL  4 
6/6/2015 11-1 SL  4 
6/20/2015 12-1 AL  4 
6/20/2015 12-1 SL  4 

第二查詢中提取數據表示當我用假。

--- qryUsedLeave --------------------------- 
Period  PP  Code Total 
3/21/2015 05-2 SL  10 
5/16/2015 09-2 AL  8 
5/23/2015 10-1 AL  24 
6/20/2015 12-1 SL  8 

我想要做的就是結合這兩個查詢的,使得從使用的假的「總」之後的「掙」離開每期列出:

--- Desired Result ------------------------- 
Period  PP  Code Earned Used 
2/14/2015 03-1 AL  4  - 
2/14/2015 03-1 SL  4  - 
2/28/2015 04-1 AL  4  - 
2/28/2015 04-1 SL  4  - 
3/14/2015 05-1 AL  4  - 
3/14/2015 05-1 SL  4  - 
3/21/2015 05-2 SL  -  10 
3/28/2015 06-1 AL  4  - 
3/28/2015 06-1 SL  4  - 
4/11/2015 07-1 AL  4  - 
4/11/2015 07-1 SL  4  - 
4/25/2015 08-1 AL  4  - 
4/25/2015 08-1 SL  4  - 
5/9/2015 09-1 AL  4  - 
5/9/2015 09-1 SL  4  - 
5/16/2015 09-2 AL  -  8 
5/23/2015 10-1 AL  4  24 
5/23/2015 10-1 SL  4  - 
6/6/2015 11-1 AL  4  - 
6/6/2015 11-1 SL  4  - 
6/20/2015 12-1 AL  4  - 
6/20/2015 12-1 SL  4  8 

我能是否將這些查詢結合在一起以產生我想要的結果? 我敢肯定,這必須是一件相當簡單的事情,但我無法圍住它。 (目前我只是其插入所述第一查詢到表中的VBA模塊,那麼讀取第二個查詢,以更新該行或插入一個新的,並且計算開始/結束餘額)

回答

1

第一步是在PP上創建一個從qryEarned到qryUsed的LEFT JOIN查詢。

這會給你qryEarned的所有行與匹配的qryUsed數據,但缺少額外的qryUsed行(例如05-2)。

如果您不能將這些句點添加到「已獲得」數據(這將是最簡單的),請創建第二個LEFT JOIN查詢,這次是另一種方式,並且標準爲qryEarned.PP IS NULL。針對不一致或不匹配數據的查詢助手可以爲您創建這樣的查詢。
這將只給qryUsed丟失的行。

最後使用UNION查詢將兩者放在一起。

+0

謝謝!我認爲它必須是某種聯盟,但'qryEarned.PP IS NULL'測試是逃避我的部分。 –