2016-02-16 188 views
1

我想插入我的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表。 然而,我最终得到下面的错误:

Duplicate output destination 'ID'.

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

+0

告诉你想的是要考虑哪些字段的数据库引擎:'INSERT INTO tbl_Cumulative()选择' – HansUp

+0

HansUp我希望避免手动输入每个字段,因为有太多太多的做手工。有没有解决的办法? –

+0

是的,在Access查询设计器中构建您的查询。然后,而不是输入字段名称,您只需要在设计网格中选择它们。 – HansUp

回答

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 
相关问题