2013-06-28 17 views
0

我有以下的表單位:MySQL查詢 - 組或添加生產量時,單元可產生兩種不同的產品

widget (id, widget) 
product(id, product, widget(fk)) 
production(id, date, widget(fk) units_made) 

每個窗口小部件可產生1種或多個類型的產品。

我遇到的麻煩是創建一個查詢來顯示小部件的總產量。因此,如果小工具A生產X和Y產品,那麼我想根據生產單位來查看小工具A的總生產量X和Y.

下面是我當前在生產表中看到的數據示例。

Date/Widget/Product/Units_Made 
1-1-13/A/X/15 
1-2-13/A/Y/30 
1-3-13/A/X/8 
1-1-13/A/Y/150 
1-2-13/A/X/48 
1-3-13/A/Y/7 

如何獲得分組日期,以便可以看到Widget A的總產量?

+0

http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_sum – Achrome

回答

0

這是你想要的嗎?這將會分組日期,窗口小部件和產品,而不管其類別。您可以通過添加HAVING來進一步限制查詢,該HAVING類似於WHERE,但它適用於組(WHEREGROUP BY之前適用)。

http://sqlfiddle.com/#!2/055d2/2

SELECT 
    Production.date, Widget.widget, Product.product, SUM(Production.units_made) 
FROM 
    ((Widget JOIN Production ON Widget.id = Production.widget) JOIN 
    Product ON Production.product_id = Product.id) 
GROUP BY 
    Widget.widget, Product.product, Production.date 

(見SQLFiddle一個樣品)。

相關問題