就是当B表中的ID1和A表的ID1相同时就要实现
A表中的NUM1和B表中的BUM2相加
--------------------------
select a.id1,amount=num1+num2 from a,b where a.id1=b.id1若B中没有A中那条纪录的话就往B中添加那条纪录
-----------------------------------
insert into b(num2,id1) 
select num1,a.id1 from a,b where a.id1 not in (select id1 from b)

解决方案 »

  1.   

    第一种说的是更新语句的话,就是:
    update a set num1=num1+num2 from b where a.id1=b.id1
      

  2.   

    -- 当B中存在A中那条纪录的时候就更新NUM2+NUM1
    UPDATE B SET NUM2=NUM2+NUM1
    FROM A, B
    WHERE A.ID1 = B.ID1-- 若B中没有A中那条纪录的话就往B中添加那条纪录
    INSERT B(NUM2, ID1) SELECT * FROM NUM1, ID1 FROM A
    WHERE NOT EXISTS(
        SELECT * FROM B WHERE ID1=A.ID1)
      

  3.   

    UPDATE B SET NUM2=NUM2+NUM1
    FROM A, B
    WHERE A.ID1 = B.ID1   --- 这里不是比较了吗? 数据库的处理就是这样的, 遍历是数据库自己去完成的事, 不用你定义记录集(毕竟数据库不是程序)