2012-12-02 30 views
0

我一直在試圖找到解決這個問題的答案。我知道如何從單獨的表中減去,但不是在我需要它工作的上下文中。SQL:從不同的表中減去並使用GROUP BY

 SELECT I.IngredientName AS 'Ingredient Name', QOH AS 'Quantity On Hand',  
     SUM(BrewLine.Quantity) AS 'Total Ingredient Used' 
     FROM INGREDIENT I 
     INNER JOIN BrewLine 
     ON I.IngredientName = BrewLine.IngredientName 
     GROUP BY I.IngredientName, QOH 

我需要有另一字段,其中我從SUM(BrewLine.Quantity)爲了具有一個,「量」中剩餘的輸出減去QOH。有什麼辦法可以解決這個問題?如果我只是減去它們,然後必須將它們包含在GROUP BY中。我的輸出都是歪斜的。

謝謝

+0

請包括示例數據,使我們可以看到「所有歪斜」實際上意味着什麼。 – MatBailie

回答

2

你可以嘗試使用分區功能,而不是分組功能,我想這是你想實現什麼......

SELECT 
    I.IngredientName AS 'Ingredient Name', 
    QOH AS 'Quantity On Hand',  
    QOH - SUM(BrewLine.Quantity) OVER(PARTITION BY I.IngredientName) AS 'Amount' 
FROM INGREDIENT I 
INNER JOIN BrewLine 
     ON I.IngredientName = BrewLine.IngredientName