访问SQL - UPDATE如果不存在记录

时间:2016-03-30 05:30:36

标签: sql ms-access

我试图更新记录中的复选框如果表中的记录不存在于另一个表中。

示例数据:

Table1:
111 John Davies
222 Mike Johnson
333 Allen Mckenzie

Table2:
000 John Jackson
222 Laura Kent
444 Paul Saint

我想只更新所有字段不同的记录,换句话说 - 每个字段都不存在。在我的示例中,结果将是:

444 Paul Saint

我尝试使用NOT IN,LEFT JOIN,INNER JOIN,但无法找出正确的子句,因为我需要更新复选框 - 所以子句必须参与更新。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我认为这样的事情应该有效:

Update Table1
SET Checkbox = True
WHERE NOT EXISTS(SELECT 1
                 FROM Table2
                 WHERE table1.id=table2.id 
                    OR table1.name=table2.name 
                    or table1.surname=table2.surname)