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

Sql 仅从一个表选择/插入新输入的数据到另一个表,sql,select,insert,logic,Sql,Select,Insert,Logic,为我确定的一个简单问题提前道歉: 我试图组合一个查询,每晚将新信息从一个表拉到另一个表,但我似乎无法确定自上次插入以来仅选择和插入新数据的逻辑。我目前的问题是: insert into dbo.calculationtable (ID, Server, Datetime, UptimeStatus) Select ID, SERVER, CheckTime, ResultType From dbo.sample GO 它与查询其余部分中的一些其他逻辑一起输出我要查找的信息,问题是当它再次运行时

为我确定的一个简单问题提前道歉:

我试图组合一个查询,每晚将新信息从一个表拉到另一个表,但我似乎无法确定自上次插入以来仅选择和插入新数据的逻辑。我目前的问题是:

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

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

这实际上取决于您的数据以及每列的含义。 假设
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

似乎您需要在表中添加“DateAdded”字段或其他内容。然后你可以在ID上留下连接,只在DateAdded为空的地方拉。感觉很简单,看起来这样做了,谢谢!