Sql server 在新表中插入不带重复项的内容

Sql server 在新表中插入不带重复项的内容,sql-server,Sql Server,我正在尝试将另一个表中的一些数据插入到一个新表中,并且有一个主键重复的实例。如何插入/忽略重复值?这是我的插入语句 INSERT INTO oltp.Host([Host_Id],[Host_Name],Calculated_Host_Listing_Count) (SELECT DISTINCT [host_id],[host_name],calculated_host_listings_count FROM csv.Listings) 如果是一次性插入,您可以手动删除行: where no

我正在尝试将另一个表中的一些数据插入到一个新表中,并且有一个主键重复的实例。如何插入/忽略重复值?这是我的插入语句

INSERT INTO oltp.Host([Host_Id],[Host_Name],Calculated_Host_Listing_Count)
(SELECT DISTINCT [host_id],[host_name],calculated_host_listings_count
FROM csv.Listings)
如果是一次性插入,您可以手动删除行:

where not (host_id = ?? and other_column = ??) 

如果不存在,请从oltp.Host h中选择1,其中h.Host_id=Listing.Host_id?仍会导致违反主键errorWell distinct消除DUP行。因此,相同的id有两次,但其他列中的值不同。你怎么决定保留哪一个呢?好的,第三列在这两个列中有不同的值,我真的不知道,我想我宁愿保留第一列
where not (host_id = ?? and other_column = ??)