我有2个表。一个是生产表,另一个是日报表。每日报表每天清空。每日报表是生产表的子集。我想用生产表中的所有新行更新日表。我想使用where子句;
SELECT ftime,
fdate,
fdata,
fdata2
INTO table2
FROM table1
WHERE ftime > table2.ftime
我运气不太好。我是新的SQL,我只是不知道如何去做这个,似乎不能找到任何在网上这个特定的问题。当我让它工作时,它最终会进入一个存储过程。
SELECT ftime,
fdate,
fdata,
fdata2
INTO table2
FROM table1
WHERE ftime > (select MAX(ftime) from table2)
OR NOT EXISTS (select * FROM table2);
如果table2是空的(例如,如果您刚刚完成了每日清理),所有的table1将被拉入table2。
否则,它只会插入表1中ftime
比表2中存在的记录晚的新记录。
确保在table2.ftime上有一个索引