【发布时间】:2018-01-17 09:55:14
【问题描述】:
我要做的是在 MS Access 2013 中为与实际数据表分开的表创建一个更新查询(意味着数据表和统计表之间没有连接 ) 来存储一些需要存储以供进一步计算和以后使用的统计信息(例如记录计数)。
在过去的几天里,我查阅了很多关于此的教程,但没有找到解决问题的方法,因为所有解决方案都包括加入表格,在我的情况下,这无关紧要,因为要计算的表是临时的,数据不断变化,因此我总是想在给定日期(如日志记录)计算每条记录,找到整个临时表中的最大值等。
statisticsTable的结构:
| statDate (Date/time) | itemCount (integer) | ... |
----------------------------------------------------
| 01/01/2017 | 50 | ... |
| 02/01/2017 | 47 | ... |
| 03/01/2017 | 43 | ... |
| ... | ... | ... |
我想要做的,半乱码:
UPDATE statisticsTable
SET itemCount = (SELECT Count(*) FROM tempTable)
WHERE statDate = 01/01/2017;
这应该使用临时表的当前行数更新 statisticsTable 中 01/01/2017 的 itemCount 字段。
我知道这可能不是 MS Access 或任何一般 DBMS 的标准或正确使用,但是,我的任务相当有限,这意味着我不能(不应该)修改任何表结构、连接或一般的数据库结构,只创建如上所述工作的更新查询。
是否可以使用在另一个表上计算的查询输出来更新表的字段值,而无需在 MS Access 中连接这两个表?
编辑 1:
经过进一步研究,函数DCount()或许能给出我想要的结果,我会测试一下。
【问题讨论】:
标签: sql ms-access join insert-update