Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 基于其他列条件的小计查询_Ms Access - Fatal编程技术网

Ms access 基于其他列条件的小计查询

Ms access 基于其他列条件的小计查询,ms-access,Ms Access,我正在Microsoft Access中创建备件管理数据库。我有两张桌子,分别是ItemTable和EntryTable。ItemTable保存具有唯一ItemID的每个项目的信息,EntryTable保存每个项目使用情况的信息。我需要根据使用情况计算每个项目的总库存 如您所见,对于带有2的ItemID,我需要根据In或Out Status字段的用法计算剩余的总库存 如果状态为In,则加上elseif状态为Out,则减。然后合计ItemID 2的库存。因此,ItemID 2的总库存将为3。我已

我正在Microsoft Access中创建备件管理数据库。我有两张桌子,分别是ItemTable和EntryTable。ItemTable保存具有唯一ItemID的每个项目的信息,EntryTable保存每个项目使用情况的信息。我需要根据使用情况计算每个项目的总库存

如您所见,对于带有2的ItemID,我需要根据In或Out Status字段的用法计算剩余的总库存


如果状态为In,则加上elseif状态为Out,则减。然后合计ItemID 2的库存。因此,ItemID 2的总库存将为3。我已经计算出ItemID的total和group by,但我无法根据其他列中的条件计算小计。谢谢。

您可以使用条件聚合:

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

是否可以将查询中的库存数量值链接到ItemTable的各个项目?对于您发布的示例数据,此查询的结果将是2行:ItemID 2和ItemID 3各1行。如何将它们链接到4个EntryId:4、5、6和7?我想我只需要将ItemTable中的字段插入到查询中,以简化问题,而不是使问题变得太复杂。谢谢你,伙计!