Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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
Sql Access-根据另一个表中的任何匹配字段计算字段_Sql_Database_Ms Access - Fatal编程技术网

Sql Access-根据另一个表中的任何匹配字段计算字段

Sql Access-根据另一个表中的任何匹配字段计算字段,sql,database,ms-access,Sql,Database,Ms Access,我试图使用Access跟踪仓库中的可用空间。在表A中,我有一个“使用的宽度”和“货架id”字段,我希望它根据表B求和“使用的宽度”,其中盒子的“货架id”与表A中的“货架id”匹配,然后将表B中的“盒子宽度”(可能是多个盒子,因为每个架子上有多个盒子)求和并放入表A中 为清晰起见,示例: Table B: BoxID Box Width ShelfID 1 24 2 2 24 2 Table A: ShelfID

我试图使用Access跟踪仓库中的可用空间。在表A中,我有一个“使用的宽度”和“货架id”字段,我希望它根据表B求和“使用的宽度”,其中盒子的“货架id”与表A中的“货架id”匹配,然后将表B中的“盒子宽度”(可能是多个盒子,因为每个架子上有多个盒子)求和并放入表A中

为清晰起见,示例:

Table B:
BoxID    Box Width    ShelfID
1        24           2
2        24           2

Table A:
ShelfID    Used Width
2          48
谢谢你的帮助!我尝试过构建一个查询并使用查找向导,但它从来没有按照我希望的方式工作,因为我做错了什么。我还没有处理过对象依赖关系。。我哪里出错了,我不知道在哪里。到目前为止,我已经将ShelfID建立为表B中的外键,但这是我所能得到的

编辑:
SQL部分并不是我所要解决的问题,而是如何在Access中实现这一点,这是我无法理解的。我正在尝试获取该特定字段(使用的宽度)以从另一个表中提取信息,但我不确定要在Access中的哪个功能或位置执行此操作-查找向导。。对象依赖关系。。。它是宏吗?我不经常使用Access,这比我过去使用Access时要复杂一些。

您想要的是简单的聚合查询吗

select shelfId, sum([Box Width]) as used_width
from b
group by shelfId;
要插入值,请执行以下操作:

insert into a(shelfId, [Used Width])
    select shelfId, sum([Box Width]) as used_width
    from b
    group by shelfId;

通常,您不会将结果放入表中。您可以为摘要定义一个视图,因此这些值总是最新的。

我对如何完成这一部分有点了解。我不知道如何在Access中使用它,我想这是我的主要问题。@aloeveraking24。这是MS Access语法。不,我的意思是我应该把它放在Access的什么地方?比如,我要按什么实际按钮为字段输入它?我想我得到了,我必须实际进入并使用SQL视图将其保存为查询,然后在特定字段上使用查找向导并选择该查询。