0

如何找到股票..?

我有一个“交易”表,其中有 ProductID(int)、TransactionType(boolean)、Qty(int) 等字段。

当我们购买时,TransactionType 为 True,而当我们在销售时,TransactionType 为 False..

Id          Type          Qty  
1           true          3  
1           true          9  
1           False         2  

如果我购买了 12 数量的 productId 1,
并出售了 2 数量的 productId 1,
那么我怎样才能获得剩余的库存......?

4

3 回答 3

1
select ProductID,
       sum(iif(TransactionType = 1, Qty, -Qty)) as total
from Transactions
group by ProductID
于 2013-10-31T11:22:13.910 回答
1

尝试这个 :

SELECT ProductId,
       SUM(CASE WHEN TransactionType = 1 THEN Qty ELSE -Qty END)
FROM Transactions
GROUP BY ProductId
于 2013-10-31T11:22:54.587 回答
0

您计算总和,但您需要一个案例语句来将 Qty 解释为正数或负数,而不是求和 Qty:

select id, sum(Qty * case when type = 'true' then 1 else -1 end) as sum_qty
from transactions
group by id;
于 2013-10-31T11:24:15.067 回答