a表
supplier sum
1
2
3
4b表
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引起的,该怎么解决
supplier sum
1
2
3
4b表
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引起的,该怎么解决
解决方案 »
- Tadoquery的out of memory问题
- delphi7编译的程序在VISTAR上无法运行,请问如何解决??
- 数据提供程序或其它服务返回 E_FAIL 状态",超难问题,请大家帮帮忙想想。
- 怎样得到在TAB 控件中用户是选择那一个TAB page页,急!!!
- 求插值改变图形大小算法
- 中文输入法的crtl+space冲突的问题
- Delphi中对时间戳类型(TimeStamp)的处理
- 有没有谁能成功地用TServerSocket编过多线程阻塞方式的通讯程序???
- 继续请教各位前辈:当用table与database 控件连接SQL数据库时,如何将dbgrid与数据表相连?
- delphi 的dbgrideh的过滤问题
- vc++的dll函数转成delphi中的用法
- 关于右键复制粘贴的问题
accsess和sql server 都有判断函数
set a.sum1=c.s
from a ,(select supplier_id,SUM(amount) as s from b group by supplier_id) c
where a.supplier=c.supplier_id
我使用的数据库是mysql
感谢bdmh