根据其他列的条件进行小计查询

时间:2020-04-07 18:54:51

标签: ms-access

我正在Microsoft Access中创建一个备件管理数据库。我有两个表,分别是ItemTable和EntryTable。 ItemTable包含有关具有唯一ItemID的每个项目的信息,而EntryTable包含每个项目使用情况的信息。我需要根据使用情况计算出每种物料的总库存量。

enter image description here

因此,如您所见,对于具有2的ItemID,我需要根据“进入”或“不在状态”字段的使用来计算剩余库存总量。

如果状态为In,则加上elseif状态为Out,则为负。然后总计ItemID 2的库存。因此,ItemID 2的库存总数为3。我已经通过TotalID和group by得出了ItemID,但是我无法根据其他列的条件来找出小计的方法。谢谢。

1 个答案:

答案 0 :(得分:1)

您可以通过条件聚合来做到这一点:

select itemid,
  sum(iif(status = 'In', 1, -1) * quantity) as total
from entrytable
group by itemid