UPDATE a
   SET total_amount = ( SELECT count(id)
                          FROM b
                         WHERE id = a.id );

解决方案 »

  1.   

    如果a.total_amount是b.amount的总合,把count()换成sum()
      

  2.   

    select a.total_amount from a,b,where a.id = b.id;
      

  3.   

    UPDATE a
       SET total_amount =total_amount+ ( SELECT sum(amount)
                              FROM b
                             WHERE id = a.id );
    thx wasuka 
    但是我这样执行后,如果a.id在b中不存在时,为什么会把b.total_amount清0呢?
      

  4.   

    你要做的不就是统计b中的a.id的总合么,0也是合法数据
      

  5.   

    b中的sum(amount)为0
    但是a.total_amount原来是有数的,我想把b中的加上去
    thx again!
      

  6.   

    UPDATE a
       SET total_amount =total_amount+ ( SELECT sum(amount)
                              FROM b
                             WHERE id = a.id );total_amount = total_amount+
    这样也清零?没道理