mysql多表更新的问题
MKD 2009-08-27 09:02:38 a表
supplier sum
1
2
3
4
b表
supplier_id amount month
1 100 2
2 15 3
2 16 8
3 20 9
1 30 4
能否不用循环的方法,根据supplier=supplier_id的关联,把统计的数据赋给a表的sum字段
也就是一句sql语句可以实现不?
update a,b set sum=sum+(select sum(amount) from b where supplier=supplier_id) where supplier_id=supplier;
这样没问题,可是如果
update a,b set sum=sum+(select sum(amount) from b where supplier=supplier_id and month<3) where supplier_id=supplier;
这样会出错,显示data truncated for column 'sum' at row..这样?
我怀疑可能部分sum(amount)得到的值为null引起的,该怎么解决