2013-10-31 52 views
0

我正在爲一個庫存系統構建一個簡單的數據庫,並帶有條形碼讀取器。我有一種形式可以添加庫存,一種形式可以刪除庫存。每次調整都會向添加或刪除表中添加一列。訪問兩個子查詢連接

我爲我的添加和刪除查詢返回每個項目的總價值,與每個項目的id相關聯。我想加入我的添加和刪除表格,以便我可以計算當前數量的差異。

我遇到了加入我的添加子查詢和我刪除子查詢的麻煩。

地址:

SELECT Items.description, Count(Trans_Add.s) AS Quantity 
FROM Items INNER JOIN Trans_Add ON Items.ID = Trans_Add.s 
GROUP BY Items.description; 

刪除:

SELECT Items.description, Count(Trans_Remove.s) AS Quantity 
FROM Items INNER JOIN Trans_Remove ON Items.ID = Trans_Remove.s 
GROUP BY Items.description; 

每當我試圖從我的新查詢的WHERE子句用於無論是在分配別名加入他們這是行不通的。

+0

你能發佈你的「新查詢」嗎? –

回答

2

嘗試:

SELECT Items.ID, Items.Description, (Items.TotalCount + A.Quantity - B.Quantity) as OnHandQty 
FROM Items INNER JOIN 
(SELECT Items.ID, Count(Trans_Add.s) AS Quantity 
FROM Items INNER JOIN Trans_Add ON Items.ID = Trans_Add.s 
GROUP BY Items.description 
) A 
ON Items.ID = A.ID 
INNER JOIN (
SELECT Items.description, Count(Trans_Remove.s) AS Quantity 
FROM Items INNER JOIN Trans_Remove ON Items.ID = Trans_Remove.s 
GROUP BY Items.description 
) B 
ON Items.ID = B.ID 

我編了一個名爲TotalCount現場,因爲你沒有提到什麼是Items表中的項目數量。因此,請相應地更改它,即根據Items表中 項目數量的右側字段名稱。

+0

感謝您的迴應和幫助。我實現了你給我的東西,而且現在我在查詢表達式「items.id = a.id ...」中收到「missing operator」的語法錯誤。 – user2941143

+0

您的字段名稱是根據select語句和ON子句中的ItemID你正在使用ID,糾正它到Items.ItemID –

+0

沒關係,我能夠從那裏得到它。 – user2941143