使用排除列表向表中添加条目

时间:2013-10-18 19:18:41

标签: sql-server-2008 sql-insert

我有两张桌子:

零件    part_no nchar(15)

Models_Parts    model_no nchar(10)    part_no nchar(15)

Models_Parts有35,000多个条目。零件有1800个条目,在Models_Parts中没有相应的条目。我需要使用model_no'NO MODEL'创建这些条目。我目前正在确定这些1800条目:

SELECT    DISTINCT  p.part_no
  FROM  dbo.parts   AS  p
  WHERE p.part_no NOT IN
    (
    SELECT  mp.part_no
    FROM    models_parts        AS  mp
    )

有没有快速简便的方法来制作这些条目?性能不是问题。

2 个答案:

答案 0 :(得分:0)

我会做以下事情:

insert into Models_Parts (model_no, part_no)
select 'NO MODEL', part_no
from Parts
where not exists
(
select 1
from Models_Parts
where part_no = Parts.part_no
)
group by part_no

答案 1 :(得分:0)

    insert into Models_Parts (model_no, part_no)
    SELECT    DISTINCT  'NO MODEL', p.part_no
  FROM  dbo.parts   AS  p
  WHERE p.part_no NOT IN
    (
    SELECT  mp.part_no
    FROM    models_parts        AS  mp
    )