DBGrid显示数据如下:
编号 名称 差值
1 a 100
2 b 150
3 c 100
现在要在最后加一个合计值:
合计 350
差值那三个值(100,150,100)不是从服务器的数据库中的“差值”字段直接select出来的,而是经过一些运算符后得到的
3条记录用了2个“union”:select 编号,名称,last_value(差值) over()-first_value(差值) as 差值 from ...where 编号=1 and...
union select 编号,名称,last_value(差值) over()-first_value(差值) as 差值 from ...where 编号=2 and...
union select 编号,名称,last_value(差值) over()-first_value(差值) as 差值
from ...where 编号=3 and...
现在在最后加一行来显示“合计”
请问怎么才能直接将DBGrid前面三行中的“差值”那一列的值加在一起?能否不通过数据库就能实现这个加法?
编号 名称 差值
1 a 100
2 b 150
3 c 100
现在要在最后加一个合计值:
合计 350
差值那三个值(100,150,100)不是从服务器的数据库中的“差值”字段直接select出来的,而是经过一些运算符后得到的
3条记录用了2个“union”:select 编号,名称,last_value(差值) over()-first_value(差值) as 差值 from ...where 编号=1 and...
union select 编号,名称,last_value(差值) over()-first_value(差值) as 差值 from ...where 编号=2 and...
union select 编号,名称,last_value(差值) over()-first_value(差值) as 差值
from ...where 编号=3 and...
现在在最后加一行来显示“合计”
请问怎么才能直接将DBGrid前面三行中的“差值”那一列的值加在一起?能否不通过数据库就能实现这个加法?
解决方案 »
- 从SQL Server 读取图片
- 谁帮忙看下,这个循环是否错了?
- 在fastreport里怎么求得一行的总和?请各位帮忙看看~
- DBGridEh中的下拉表格选择方法怎么实现的?我看了很多资料和Demo还是搞不明白!
- 关于OpenPictureDialog控件的问题,请高手回答
- 如何在dbgrid中加入一列或多列固定列??
- 如何建立“关联”
- 怎么ADOQuery1可以查询不能插入!!!
- 请看看我这段文件存取的程序有什么问题,高分相送!!!!
- 请问各位大侠,谁对语音卡编程过,讲一讲经验?体会?
- d6中怎样调用winexec或Shellexec实现根据url地址打开网页或打开outlook发送邮件
- 谁能总结一下delphi里面连接数据库的方法
用SUM函数就可以解决问题
但是我求和的数据不是原始数据,而是已经对原始数据作过计算的数据
比如数据库里面的是:
5 ,3,6,8,7,2
那么我select出来的是3-5=-2,8-6=2,2-7=-5
而合计值为(-2)+2+(-5)=-5
现在的问题是我怎么求这个-5来显示在DBGrid的最后一行中?
to Zhymax兄:DBGrid中的行数是不确定的,我不太清楚应该怎么做才能加最后一行
1、把现在得结果做成视图,然后再用一句SELECT SUM(差值)搞出合计值。
2、历遍DBGrid用个FOR语句将结果加起来。
可以试试EHLIB包中的DBGRIDEH控件
EHLIB包在上面有下载
http://www.51delphi.com/delphi/soft?type=数据库
你可以在DBGrid下面放个Edit来显示合计。