提问人:Steve Hewitt 提问时间:11/13/2023 最后编辑:Steve Hewitt 更新时间:11/13/2023 访问量:63
通过对单个表的相关子查询访问 SQL UPDATE
Access SQL UPDATE with a correlated sub query on a single table
问:
我有一个表格,上面有一个网格引用字符串、一个年份数字和一个总数(HectadGridRef、YYYY 和 TotalRecordsAllSpecies)。我添加了一个列,FiveYearTotalRecords。我想用相邻年份(前后两年)的值更新新列,以便通过进一步处理,我可以处理五年的滚动窗口。
我已经在表格的测试版本上尝试过这个:
UPDATE tblYRAllSp5yeartest01 AS XX
SET FiveYearTotalRecords = (SELECT SUM (ZZ.TotalRecordsAllSpecies) FROM tblYRAllSp5yeartest01 AS ZZ
WHERE (ZZ.HectadGridRef = XX.HectadGridRef)
AND (ZZ.YYYY > (XX.YYYY - 3))
AND (ZZ.YYYY < (XX.YYYY + 3)));
但我收到消息“操作必须使用可更新的查询”。
我怀疑问题是我正在尝试更新已经打开的表(通过子查询)。是这样吗?除了复制表并将子查询指向该表之外,还有什么办法可以解决这个问题吗?
[编辑:我已经尝试过使用表格的副本,但我仍然收到相同的消息,所以我想不出问题出在哪里。据我所知,我对整个数据库具有适当的权限]。
答: 暂无答案
评论
UPDATE
SELECT