查询插入重复的行

时间:2016-06-16 20:35:05

标签: sql-server

我正在尝试编写一个查询,只有在Disposition-Code不存在时才会在我的表中插入Disposition-Code和Disposition-Desc。我目前有这个,但由于某种原因,它将我的所有记录的所有处置插入我的处置表。我的目标是拥有一个具有所有独特配置的处置表。

or

这段代码将每条记录的每个处置插入到我的新表中。因此,我没有一个包含30个配置的表,而是拥有一个与记录表大小相同的表。假设我的处理代码为619,已经插入到我的表中。我希望查询再次不插入此处置。

有没有人知道如何做到这一点?

2 个答案:

答案 0 :(得分:2)

请尝试此查询。请注意选择

上的DISTINCT约束
INSERT INTO 
 TexasBexarCountyMisdemeanorDispositions   
 (
  [DISPOSITION-CODE], 
  [DISPOSITION-DESC]
 ) 
SELECT DISTINCT
 [DISPOSITION-CODE], 
 [DISPOSITION-DESC]   
FROM 
 TexasBexarCountyMisdemeanorPublicRecords
WHERE [DISPOSITION-CODE] NOT IN 
(
 SELECT 
  DISTINCT [DISPOSITION-CODE] 
 FROM 
 TexasBexarCountyMisdemeanorDispositions
)

答案 1 :(得分:-2)

在TexasBexarCountyMisdemeanorDispositions中创建索引,以防止处置代码的重复值。 可以将重复索引错误消息切换为警告消息,这一切都很好。 msdn.microsoft.com/en-us/library/ms186869.aspx