有两张表:a表两个字段:id和score
b表三个字段:aid, total, raty现在要更新a表中id=1的score,计算公式是100*(1 - raty/total), 当然aid也要和id相同怎么写sql?

解决方案 »

  1.   

    update a inner join b on a.id=b.aid
    set score=100*(1 - raty/total) where a.id=1
      

  2.   


    谢谢!
    问题是total默认值是0,,,这个时候score更新的值应该也是0
      

  3.   

    update a inner join b on a.id=b.aid
     set score=100*(1 - if(total=0,0,raty/total)) where a.id=1
      

  4.   

    update a inner join b on a.id=b.aid
    set score=if(total=0,0,100*(1 - raty/total)) 
    where a.id=1