查询仅向表中添加新数据

时间:2014-04-22 16:34:41

标签: ms-access ms-access-2010

我有一张历史数据表。我需要运行一个只为历史表中没有的数据添加行的查询。查询和表都具有匹配的唯一行ID。

当我的表有最多1周前的数据时,当我运行查询时,我只想添加上周的数据。该表有超过一百万行,查询通常每天返回20,000行。我从来不知道有多少天我需要回去,所以我不能让这个为期一周的查询。

我尝试使用子查询显示历史表中的所有ID,并使用它来使用“Not In(Select .....)”来过滤新查询,但它花了很长时间才基本崩溃。

我可以通过ID将表链接到查询,并仅显示历史表中的结果,但我无法弄清楚如何显示历史表中不存在的结果。

1 个答案:

答案 0 :(得分:1)

我可以看到两个选项:

1 - 将ID字段设为关键字段(不允许重复)并使用追加查询。现有行将导致错误消息而不添加;将追加新行。

2 - 从新表到历史表的外连接,强制新表中的所有记录都在查询中,并从历史表中选择空ID。这将使新表中的记录与历史表中的记录不匹配,然后可以将这些记录附加到历史表中。

做这两件事也没什么不对。