我有一个可以添加新用户的系统,我想创建一个查询,检查是否存在具有相同Name_ID的重复结果,并且只添加唯一结果。 (更多解释如下)
表1
Name_ID ¦ Name
-------------------
1 ¦ Michael
2 ¦ Rebecca
3 ¦ Sammy
表2
Name_ID ¦ Name
-------------------
1 ¦ Michael
2 ¦ Rebecca
这些是在两个单独的数据库文件中,因为Table2应该是一个存档。 我想要做的是仅使用查询将table1中唯一的Name_ID附加到table2,即仅附加3但忽略Name_ID 1和2。
最后一件事,我不想在这个解决方案中使用SQL,但想知道MS-Access是否有任何可以解决这个问题的内置功能。</ p>
编辑:显然没有SQL没有解决方案,那么如何用SQL实现呢?
答案 0 :(得分:2)
您应该使用此查询:
INSERT INTO Table2(Name_ID, Name)
SELECT Name_ID, Name
FROM Table1 LEFT JOIN Table2 ON Table1.Name_ID = Table2.Name_ID
WHERE Table2.Name_ID IS NULL
,查询或使用Docmd.RunSQL命令
答案 1 :(得分:1)
用于防止重复的MS Access内置功能是字段上的No Duplicates索引。 主键是一种这样的索引。如果索引字段上存在重复值,这些索引将阻止记录的插入。 请参阅更多here