2013-03-06 195 views
0

我有2個表格:stock_material_details和stock_consumed有一個常見的已存檔item_id。 stock_material詳細信息已將added_quantity作爲列並將stock_consumed作爲consume_quantity作爲列。mysql總結兩列

每次將商品添加到庫存時,它都將添加到stock_material_details(表格)下的added_quantity下。

每次消耗一個物品時,它將被添加到stock_consumed的comsumed_quantity下。
我想編寫一個查詢被什麼東西可以讓特定項目的總量是這樣的:

select sum(a.added_quantity) - sum(b.quantity_consumed) as available 
from stock_material_details a 
join stock_consumed b on a.item_id = b.item_id 
group by a.id 

上述查詢,以便不給正確的結果櫃面data.Need的多行一些建議。

+0

組...對不起 – user2139234 2013-03-06 09:58:17

+0

您可以編輯自己的問題糾正像這樣的東西(我這次爲你做了) – Bohemian 2013-03-06 09:59:46

+0

提供樣本數據和預期的輸出 - 它將幫助我們理解你的意思(鱈魚我一個人不) – Bohemian 2013-03-06 10:00:40

回答

0

選擇ITEM_ID,總和(a.added_quantity) - 和(b.quantity_consumed)如可從stock_material_details一個由a.item_id

嘗試添加「ITEM_ID加入stock_consumed B關於a.item_id = b.item_id組「在選擇。

我嘗試在那裏使用你的代碼,但它不工作。

試試這個:

選擇ITEM_ID,SUM(added_quantity) - 由ITEM_ID

希望因爲我的工作(選擇SUM(quantity_consumed)從stock_consumed b,其中b.item_id = ITEM_ID)FROM stock_material_details集團我只是編譯我的腦海裏

願原力與你同在

0

混合兩種不同勢聚集你會需要子查詢:

SELECT sum(a.sum_a) - sum(b.sum_b) AS available FROM 
(SELECT a.item_id, sum(a.added_quantity) AS sum_a 
FROM stock_material_details a 
GROUP BY a.id) AS a 
JOIN 
(SELECT b.item_id, sum(b.quantity_consumed) AS sum_b 
FROM stock_consumed b 
GROUP BY b.id) AS b 
ON a.item_id = b.item_id 
0

如果你沒有保持跟蹤每個項目的結果,這是不可能告訴什麼數字對應於:通過a.id

select a.item_id, sum(a.added_quantity) - sum(b.quantity_consumed) as available 
from stock_material_details a 
join stock_consumed b on a.item_id = b.item_id 
group by a.id