Update T1
Set
T1.int2=int2-(select sum(int2) as int2 from T2 where T2.int1=T1.int1)你原来是不是写错了?
Update T1
Set
T1.int2=T1.int2-T2.int2
from 
Tmp001 T1,Tmp002 T2
Where T1.int1=T2.int2
                   ^^这里是不是应该是T2.int1?

解决方案 »

  1.   

    To Naiwer(海阔天空),是描述语句写错了,但是多表关联一对多的更新问题没有错。
    Update T1
    Set
    T1.int2=T1.int2-T2.int2
    from 
    Tmp001 T1,Tmp002 T2
    Where T1.int1=T2.int1
                      ^^这里是T2.int1!
    大家看看怎末解决,当然对于这个简单的例子,求和后肯定是可以解决的,但是换种复杂的情况,例如还有别的字段参与运算,处理起来简直是没有办法了。
      

  2.   

    试过这个语句没有:
    Update T1
    Set
    T1.int2=int2-(select sum(int2) as int2 from T2 where T2.int1=T1.int1)我想只能用先求和的形式!