提前道歉,这是一个简单的问题:
我正在尝试整理一个查询,将每晚从一个表中提取新信息到另一个表,我似乎无法解决自上次插入以来仅选择和插入新数据的逻辑。我目前的疑问是:
insert into dbo.calculationtable (ID, Server, Datetime, UptimeStatus)
Select ID, SERVER, CheckTime, ResultType
From dbo.sample
GO
与查询的其余部分中的一些其他逻辑一起输出我要查找的信息,问题是当它再次运行时它包括所有先前的数据以及任何新条目(因此重复它)。如何让它忽略这些列?
答案 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