如何将来自3个不同Access表的数据合并到一个主表中?

时间:2014-08-05 19:41:32

标签: ms-access

我有3个访问表,其中包含过去3年的信息。每个都有大量相同的记录,但每个记录中也有独特的记录。

2个表具有相同的唯一主键(ID),而第3个表具有不同的唯一ID集

如何将所有唯一ID组合并选择到一个主表中?感谢

2 个答案:

答案 0 :(得分:1)

不是100%确定我理解重叠发生的地方而不是,但试试这个:

select ID
into All_Id
from (
  select ID from Table1
  union
  select ID from Table2
  union all
  select ID from Table3
)

这预先假定Table1和Table2可能共享一些ID,并且您只希望它们列出一次,但Table3没有任何重叠。

说实话,除了可能让查询运行速度慢之外,将它们全部union都没有任何害处。

答案 1 :(得分:1)

如果您需要唯一ID,请使用UNION查询。如果你想要一切,请使用UNION ALL。

UNION =没有傻瓜
UNION ALL =返回所有记录,包括dupes

Access引擎支持联合查询,但您必须在SQL视图中手动编写联合查询。设计视图不可用。

根据您过去三年的数据量,UNION可能需要一些时间,甚至可能会爆炸几次。为了以防万一,我先制作备份副本。

如果您想要纯粹唯一的ID和新表,请按照以下步骤操作:

1。)写下你的联合查询。

SELECT ID FROM Table1
UNION
SELECT ID FROM Table2
...

2。)保存查询。

3。)创建一个make表查询(选择并将所有唯一ID组合成一个可能是新的主表)。

4.运行make table查询。将创建新表。

希望有所帮助。让我们知道你是如何做出来的!