如何将 2 个以上的 Microsoft Access 表合并到一个表中?

Posted

技术标签:

【中文标题】如何将 2 个以上的 Microsoft Access 表合并到一个表中?【英文标题】:How to combine more than 2 Microsoft Access tables into one table? 【发布时间】:2012-03-20 02:10:18 【问题描述】:

假设我有 10 个表,每个 tableN 都有一个 ID 和一个 ValueN。 我想将它们全部合并到一个包含以下内容的表中:

ID Value1 Value2 Value3 ...

ID 是唯一的,但每个表可以有任意数量的记录,因此结果行可以是:

001 3.1 Null 4.6 ...

我知道当只有 2 个表时如何进行这个简单的查询。但不知道比较 10 个表的 ID 值的最佳方法。

【问题讨论】:

【参考方案1】:

假设您有 3 张桌子(或任意数量的桌子)

Table1:          Table2:           Table3
ID  Value1       ID   Value2       ID   Value3
1   A            1    AAA          1    111
2   B            2    BBB          2    222
3   C            5    EEE          3    333
                                   4    444
                                   5    555

您可以使用这样的查询来确保从所有表中获取所有可能的数据:

SELECT U.ID,
       Table1.Value1,
       Table2.Value2,
       Table3.Value3
FROM   (((SELECT ID FROM Table1
          UNION
          SELECT ID FROM Table2
          UNION
          SELECT ID FROM Table3) AS U
         LEFT JOIN Table1 ON U.ID=Table1.ID)
        LEFT JOIN Table2 ON U.ID=Table2.ID)
       LEFT JOIN Table3 ON U.ID=Table3.ID; 

其中的结果是:

ID    Value1    Value2     Value3
1     A         AAA        111
2     B         BBB        222
3     C                    333
4                          444
5               EEE        555    

基本上,它只是每个表上的一系列LEFT JOIN,全部由所有表中所有可能的 ID 的并集连接:

SELECT ID FROM Table1
UNION
SELECT ID FROM Table2
UNION
SELECT ID FROM Table3

【讨论】:

以上是关于如何将 2 个以上的 Microsoft Access 表合并到一个表中?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MySQL 中加入 2 个以上的表?

Microsoft 访问 SQL Server Express [关闭]

Microsoft office 2007以上版本,EXCEL 将xlsx文件转换成pdf文件出现:尚未安装打印机。转换失败

如何在 VS2017 中分析单元测试

带有触发器错误的 Microsoft Access 链接表 (ASE)

我如何使用具有 2 个以上通道的 NAudio 录制到波形文件?