Sql server 如何使用sum函数进行分组查询
我在SQL Server中有Sql server 如何使用sum函数进行分组查询,sql-server,sql-server-2012,Sql Server,Sql Server 2012,我在SQL Server中有inventoryTransaction表,如下所示: productID StockLocationID TransactionType Quantity 1046 1 "in" 100 1046 1 "out" 20 1046 2 "in" 70 1046
inventoryTransaction
表,如下所示:
productID StockLocationID TransactionType Quantity
1046 1 "in" 100
1046 1 "out" 20
1046 2 "in" 70
1046 2 "out" 65
...
如何进行查询,输出如下:
productID StockLocationID stock
1046 1 80
1046 2 5
您可以尝试:
SELECT
productID,
StockLocationID,
SUM(CASE
WHEN TransactionType = 'out' THEN -1
ELSE 1
END) * Quantity) AS stock
GROUP BY
productID,
StockLocationID
您可以尝试:
SELECT
productID,
StockLocationID,
SUM(CASE
WHEN TransactionType = 'out' THEN -1
ELSE 1
END) * Quantity) AS stock
GROUP BY
productID,
StockLocationID
相同,但略为缩短,以消除不必要的乘法:
SELECT
productID,
StockLocationID,
SUM(CASE TransactionType
WHEN 'out' THEN -Quantity
ELSE Quantity
END) AS stock
GROUP BY
productID,
StockLocationID
相同,但略为缩短,以消除不必要的乘法:
SELECT
productID,
StockLocationID,
SUM(CASE TransactionType
WHEN 'out' THEN -Quantity
ELSE Quantity
END) AS stock
GROUP BY
productID,
StockLocationID
ProductID StockLocationID TransActionType数量谢谢。请帮助我ProductID StockLocationID TransActionType Quantity谢谢。请帮我查一下答案Tim3880谢谢你的答案Tim3880