我有一个 MS Access 表,其中有一个字段,我想根据键是否存在于单独的查询中来更新。我试图研究并发现类似但不相同的问题(例如Access 2003 - 基于选择查询结果运行更新查询),但我不知道如何将它们转换为我的情况。
基本上我做了一个查询,返回所有需要更新的条目的主键。
所以
查询:“temp”为我要更改的所有记录返回 KeywordID。它是 24K 条记录
然后我有我要更新的表
表:“关键字”有一个字段“优先级”,我想为 KeywordID 在临时查询中的每条记录设置为“是”。大约有 900K 行。
我无法弄清楚我应该做什么:这是我尝试过的所有错误方法:
UPDATE keywords SET keywords.Priority = Yes JOIN temp ON keywords.KeywordID = temp.KeywordID ; ' SYNTAX error
UPDATE keywords SET keywords.Priority = Yes INNER JOIN temp ON keywords.KeywordID = temp.KeywordID ; ' SYNTAX error
UPDATE keywords INNER JOIN temp ON keywords.KeywordID = temp.KeywordID SET keywords.Priority = Yes; ' Must use an updatable query
UPDATE keywords SET keywords.Priority = Yes WHERE EXISTS (SELECT temp.KeywordID from TEMP); ' tries to update 900K records
任何帮助都会很棒。