【发布时间】:2015-01-09 17:02:11
【问题描述】:
我正在使用 MS Access VBA 根据另一个表上的计数值更新数据库文件中的一个表,该表引用回我要更新的表。
Table 1: request
- Columns: requestID, requestStatus
Table 2: requestItem
- Columns: requestItemID, requestID, requestItemStatus
1个请求可以有n个请求项,但1个请求项只能包含在1个请求中。
如果请求的所有请求项都“完成”requestItemStatus,我想更新 request 表,将请求的 requestStatus 更新为“完成”。
我第一次尝试如下:
Update request SET request.request_status_id = "complete" WHERE COUNT(SELECT requestItem.* FROM requestItem WHERE requestItem.requestID = request.requestID) = COUNT(SELECT requestItem.* FROM requestItem WHERE requestItem.requestID = request.requestID AND requestItem.request_item_status_id = "complete")
但是VBA报错SQL语句不能在表达式(COUNT()=)中有聚合函数。
我应该在这里做什么?谢谢你的帮助!我很感激。
【问题讨论】:
标签: sql ms-access count sql-update aggregate