如何将一个表中的新记录插入另一个表中

时间:2016-02-16 20:47:03

标签: sql ms-access duplicates left-join

我想在tbl_Cumulative中插入tbl_Daily中显示的所有新记录。我的tbl_Cumulative综合了所有历史tbl_Daily条记录。 tbl_Daily每天都会刷新。

我的INSERT INTO语句如下所示:

INSERT INTO tbl_Cumulative
SELECT *
FROM tbl_Daily
LEFT JOIN tbl_Cumulative
ON tbl_Cumulative.ID= tbl_Daily.ID
WHERE tbl_Cumulative.ID IS NULL

我首先根据ID加入表格,并且与tbl_Cumulative不匹配(也就是记录是新的),然后将其附加到tbl_Cumulative。 但是,我最终得到以下错误:

  

重复输出目的地'ID'。

我知道ID有重复的字段,因为tbl_Cumulativetbl_Daily具有完全相同的列。我如何查询我的SQL,以便我仍然可以匹配新查询并将它们附加到tbl_Cumulative

1 个答案:

答案 0 :(得分:1)

SELECT仅来自一个表(tbl_Daily.*)的字段,而不是SELECT *结果集中返回的所有字段。

INSERT INTO tbl_Cumulative
SELECT tbl_Daily.*
FROM tbl_Daily
LEFT JOIN tbl_Cumulative
ON tbl_Cumulative.ID= tbl_Daily.ID
WHERE tbl_Cumulative.ID IS NULL