【发布时间】:2017-08-05 22:03:26
【问题描述】:
我正在使用 microsoft access,我总共有 3 个表:Credits、Orders 和 Books,如下所示。我需要创建一个更新查询,根据每个学生订购的书籍和每本书的相应学分数量来更新每个学生的现有学分数量。
例如,学生 B-17 开始时有 24 个学分,但在更新查询之后它应该将学生的学分更改为 32。
学分表
Student ID Number of Credits
B-17 24
F-59 30
订单表
Student ID Book ID
B-17 101
B-17 102
F-59 101
F-59 105
图书桌
Book ID Book Title Credits
101 English I 3
102 Accounting 5
105 Calculus 5
这是我正在尝试的,但我在 Access 中不断收到语法错误。
UPDATE Credits c
SET [Number of Credits] = [Number of Credits] + (SELECT SUM(Credits)
FROM Orders o, Books b ON
o.[Book ID] = b.[Book ID] WHERE
c.[Student ID] = o.[Student ID])
WHERE c.[Student ID] = o.[Student ID];
【问题讨论】:
-
保存计算数据,尤其是聚合数据通常是个坏主意。保存传入/传出交易的记录,然后在需要时计算净余额。评论allenbrowne.com/AppInventory.html
-
您遇到的错误是什么?
-
查询表达式中的语法错误