0

我一直在试图找到解决我问题的答案。我了解如何从单独的表中减去,但不是在我需要它工作的上下文中。

      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 中。我的输出都是歪斜的。

谢谢

4

1 回答 1

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 
于 2012-12-02T22:13:12.623 回答