我正在尝试通过汇总另一张表中另一列的数据来更新一列,但我不明白为什么我总是收到语法错误。
UPDATE [Reference No - Quotation] RQ
INNER JOIN [Customer- Quotation] CQ ON CQ.ReferenceID = RQ.ReferenceID
SET RQ.[Total Cost (Monthly)] =SUM(CQ.[Total Amount])
WHERE = RQ.[ReferenceID] = CQ.[ReferenceID];
答案 0 :(得分:0)
使用GROUP BY
所需的SUM
使查询成为只读。使用临时表或域函数(DSum
等)或此类肮脏的MS Access hack:
UPDATE [Reference No - Quotation] RQ
INNER JOIN [Customer- Quotation] CQ ON CQ.ReferenceID = RQ.ReferenceID
SET RQ.[Total Cost (Monthly)] = 0
WHERE RQ.[ReferenceID] = CQ.[ReferenceID];
UPDATE [Reference No - Quotation] RQ
INNER JOIN [Customer- Quotation] CQ ON CQ.ReferenceID = RQ.ReferenceID
SET RQ.[Total Cost (Monthly)] = RQ.[Total Cost (Monthly)] + CQ.[Total Amount])
WHERE RQ.[ReferenceID] = CQ.[ReferenceID];
答案 1 :(得分:-2)
这是错误的,因为已更正了注释:
据我所知,在使用UPDATE
查询时,Access必须是可修改的两个表,因此使用INNER JOIN
会导致查询结果为只读。在这种情况下,我使用临时表:
INNER JOIN
查询创建临时表