insert into 表1 (ID,DD,SUM)
   select ID,DD,SUM from 表2 where not exists (select * from 表1 where 表1.ID=表2.ID and 表1.DD=表2.DD)
   union 
   select ID,DD,SUM from 表2 where SUM < (select SUM from 表1 where 表1.ID=表2.ID and 表1.DD=表2.DD)
 
 

解决方案 »

  1.   

    上面有误。另外,还是分成2个语句好:insert into 表1 (ID,DD,SUM)
       select ID,DD,SUM from 表2 where not exists (select * from 表1 where 表1.ID=表2.ID and 表1.DD=表2.DD)insert into 表1 (ID,DD,SUM)
       select ID,DD,SUM from 表2 where SUM < (select min(SUM) from 表1 where 表1.ID=表2.ID and 表1.DD=表2.DD)
      

  2.   

    insert into 表1 (ID,DD,SUM1)
      ( select ID,DD,SUM1 from 表2 where ID NOT IN (select * from 表1 where 表1.ID=表2.ID and 表1.DD=表2.DD))
    UNION
    insert into 表1 (ID,DD,SUM1)
      ( select ID,DD,SUM1 from 表2 where DD NOT IN (select * from 表1 where 表1.ID=表2.ID and 表1.DD=表2.DD))
    UNION
    insert into 表1 (ID,DD,SUM1)
      (select b2.ID,b2.DD,b2.SUM1 from 表2 b2,表1 b1 where b2.SUM1<b1.SUM1)
      

  3.   

    改成。。
    insert into 表1
       select * from 表2 where not exists (select * from 表1 where 表1.ID=表2.ID and 表1.DD=表2.DD)