【问题标题】:Adding entries to a table using an exclusion list使用排除列表向表中添加条目
【发布时间】:2013-10-18 19:18:41
【问题描述】:

我有两张桌子:

零件 part_no nchar(15)

Models_Parts model_no nchar(10) part_no nchar(15)

Models_Parts 有 35,000 多个条目。 Parts 有 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
    )

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

【问题讨论】:

  • 如果性能不是问题,那么您的查询实际上没有任何问题(除了您没有添加'NO MODEL'

标签: sql-server-2008 sql-insert


【解决方案1】:

我会做如下的事情:

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

【讨论】:

  • 工作就像一个魅力。谢谢。
  • @DominicRomano 如果此解决方案解决了您的问题,请考虑将其标记为“已接受”。另请考虑查看您的其他问题,并接受任何相关的解决方案。
【解决方案2】:
    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
    )

【讨论】:

    猜你喜欢
    • 2021-05-12
    • 2011-09-01
    • 2019-05-23
    • 2020-04-06
    • 1970-01-01
    • 1970-01-01
    • 2021-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多