比较两个表寻找差距,将它们附加到新表中

Posted

技术标签:

【中文标题】比较两个表寻找差距,将它们附加到新表中【英文标题】:Compare two tables look for gaps, append them in new table 【发布时间】:2013-07-23 03:22:45 【问题描述】:

这与 MS Access 2007 有关。我有点麻烦,谁能为我解决这个问题,我将不胜感激。

我有两个表:Actual 和 Schedule。我的工作是比较这两个表,寻找差距,并将它们填充到一个新表中(追加)。重点:tbnum 对应时间段。这是我想出的可以轻松识别差距的方法。我已经创建了这些示例表:

http://i39.tinypic.com/2mhesxs.jpg

有两种情况:

    JFKATL:Actual 表中有匹配项,因此将 JFKATL 的原始记录从 Schedule 以及 Actual 中为缺少的 JFKATL 记录带入 NewTable ORDSLC:Actual 表中没有匹配项,但时间段中存在明显的“差距”。所以延长不匹配记录的时间段并将其粘贴到NewT​​able中

编辑:抱歉,我注意到原始图像中有一个小问题。发布新的。

【问题讨论】:

在“NewTable”中,以绿色突出显示的行不在其他任何一个表中。它应该来自哪里? 【参考方案1】:

我可能无法完全或正确理解您的问题,但UNION operator 似乎对您有用。 UNION 将合并两个查询之间的唯一记录并将它们合并到一个记录集中。 UNION ALL 将包含重复项。

SELECT c1, c2
FROM table1

UNION

SELECT c1, c2
FROM table2;

【讨论】:

以上是关于比较两个表寻找差距,将它们附加到新表中的主要内容,如果未能解决你的问题,请参考以下文章

如何连接两个表中的数据并将结果插入到新表中?

复制表结构和内容到另一张表中的SQL语句

MySQL查询结果复制到新表(更新插入)

SQL Server 将现有表复制到新表中但跳过重复记录

插入创建新表

如何比较两个表的列并将值插入到基于 SQL Server 中存储过程中的比较的新表中