DECLARE @ta TABLE(a1 varchar(10),a2 int,a3 int)
INSERT @ta SELECT 'p1',null,2
UNION ALL SELECT 'p2',null,5
UNION ALL SELECT 'p3',null,8DECLARE @tb TABLE(b1 varchar(10),b2 int,b3 int)
INSERT @tb SELECT 'p1',null,11
UNION ALL SELECT 'p3',null,9SELECT * FROM @ta
SELECT * FROM @tbUPDATE a SET a3=a3+b3 FROM @ta a INNER JOIN @tb b ON a1=b1SELECT * FROM @ta
/*
p1 NULL 13
p2 NULL 5
p3 NULL 17
*/

解决方案 »

  1.   

    自已搞定了!呵呵
    下面语法:
    update tbA set a3=a3+B.b3
     from (select b1,b3 FROM tbB) B
     where a1 in ( B.b1)
      

  2.   


    哈哈,和我的一样!因为我的B中还有限制条件哈哈!我的原句是这样的:
    update A08GCPHZLT set PH06=PH06+B.RK07
     from (select RK10,RK07 FROM A08GCPHRK_DetailsT where RK00=@RK00) B
     where PH01 in ( B.RK10)哈哈,谢谢关注了!