我有两张桌子。一个是生产表,另一个是每日报表。每天都会清空每日报告表。每日报告表是生产表的一个子集。我想用生产表中的所有新行来更新日表。我考虑过使用where子句;
SELECT ftime,
fdate,
fdata,
fdata2
INTO table2
FROM table1
WHERE ftime > table2.ftime 我不太走运。我是SQL的新手,我只是不确定如何去做,并且似乎在网上找不到关于这个特定问题的任何东西。
当我让它工作时,它最终会进入一个存储过程。
任何提示,提示,都将不胜感激。
发布于 2013-04-23 05:46:22
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。
否则,它只会使用ftime从table1插入比table2中存在的记录更晚的新记录。
确保在table2.ftime上有索引
https://stackoverflow.com/questions/16157157
复制相似问题