insert into a select * from b where not exists (select 1 from a where mid=b.mid)

解决方案 »

  1.   


    --try
    insert into a select * from b where mid not in (select mid from a)
      

  2.   

    insert into a select * from b where not exists (select 1 from a where mid=b.mid
      

  3.   

    --> 测试数据: #a
    if object_id('tempdb.dbo.#a') is not null drop table #a
    create table #a (mid int,门店 varchar(2))
    insert into #a
    select 1,'aa' union all
    select 2,'bb' union all
    select 3,'cc' union all
    select 4,'dd' union all
    select 5,'ee' union all
    select 6,'ff' union all
    select 7,'gg' union all
    select 8,'hh'
    --> 测试数据: #b
    if object_id('tempdb.dbo.#b') is not null drop table #b
    create table #b (mid int,门店 varchar(2))
    insert into #b
    select 1,'aa' union all
    select 2,'bb' union all
    select 3,'cc' union all
    select 7,'gg' union all
    select 8,'hh' union all
    select 9,'ii' union all
    select 10,'jj' union all
    select 11,'kk';-->如果门店不重复
    insert into #a select * from #b where not exists (select 1 from #a where 门店=#b.门店)select * from #a
    /*
    mid         门店
    ----------- ----
    1           aa
    2           bb
    3           cc
    4           dd
    5           ee
    6           ff
    7           gg
    8           hh
    9           ii
    10          jj
    11          kk
    */
      

  4.   

    --1
    insert into A select * from B where 门店 not in (select 门店 from A)
    --2
    insert into A select * from B where not exists (select 1 from A where mid = B.mid and 门店 = B.门店)