访问SQL - 更新表A其中ID不在表B中

时间:2016-12-13 14:30:22

标签: sql ms-access

我有两个表,两个表都有相同的唯一键(Case)。

我想更新表A(主)中的一个字段,其中唯一键(Case)不存在于表B(提取)

    UPDATE Master SET [Date Closed] = (Date())
WHERE NOT EXISTS (SELECT 1
                  FROM Extract
                  WHERE Master.Case = Extract.Case
                 );

这不会给出错误,但是运行需要几分钟,查询也是正确的,如果是这样,可以改进以便更快地运行。

我在Master中有大约90k的记录,在Extract中有60k的记录,所以我不希望它花费超过几秒的时间来运行,我是乐观的,还是我的查询错了?

感谢。

1 个答案:

答案 0 :(得分:2)

您可以尝试以下查询

UPDATE Master SET [Date Closed] = (Date())
WHERE Master.Case NOT IN (SELECT Extract.Case FROM Extract)