选择/仅将新输入的数据从一个表格插入另一个表格

时间:2013-11-12 14:51:44

标签: sql select insert logic

提前道歉,这是一个简单的问题:

我正在尝试整理一个查询,将每晚从一个表中提取新信息到另一个表,我似乎无法解决自上次插入以来仅选择和插入新数据的逻辑。我目前的疑问是:

insert into dbo.calculationtable (ID, Server, Datetime, UptimeStatus)
Select ID, SERVER, CheckTime, ResultType
From dbo.sample
GO

与查询的其余部分中的一些其他逻辑一起输出我要查找的信息,问题是当它再次运行时它包括所有先前的数据以及任何新条目(因此重复它)。如何让它忽略这些列?

1 个答案:

答案 0 :(得分:2)

这实际上取决于您的数据,以及每列的含义。 假设dbo.sample.CheckTime是设置为插入记录时的当前时间的列,那么您可以执行以下操作:

insert into dbo.calculationtable (ID, Server, Datetime, UptimeStatus)
Select ID, SERVER, CheckTime, ResultType
From dbo.sample 
Where CheckTime > (Select max(DateTime) From dbo.calculationtable)
GO