我一直试图找到解决这个问题的答案。我理解如何从单独的表中减去,但不是在我需要它工作的上下文中。
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,以便在输出中保留'amount'。有什么方法可以解决这个问题?如果我只是减去它们然后必须将它们包含在GROUP BY中。我的输出都是歪斜的。
谢谢
答案 0 :(得分: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