请问在DELPHI中这用SQL语言如何实现?(50分)

  • 主题发起人 marco_hsu
  • 开始时间
M

marco_hsu

Unregistered / Unconfirmed
GUEST, unregistred user!
假设原有表
stock_no pro_no pro_name pro_total
1001 200210210 西服 200.00
1001 200211201 裤子 300.20
1002 200210210 西服 200.00
1002 200222010 裤子 300.00
要求查询后 用DBGRID显示成如下格式(根据仓库显示)
仓库 产品编号 产品名称 总价
1001 200210210 西服 200.00
1001 200211201 裤子 300.20
1001 总价值 500.20
1002 200210210 西服 200.00
1002 200222010 裤子 300.00
1002 总价值 500.00
主要问题就是如何显示那个总价值那一栏出来??还有可根据产品显示等多种样式
[:(][:(]
 
建议你好好的找一本基础的delphi书看一下
 
select sun(pro_total) from table
where .........

再自已显示出来不就行了
 
(select stock_no ,pro_no,pro_name,pro_total from tab
union
select stock_no,null,'总价值',sum(pro_total) from tab
group by stock_no)
order by 你要的排序

 
select sum(pro_total) from TableName group by pro_no with ROLLUP
 
select stock_no,pro_no,pro_name,pro_total from TableName group by pro_no with ROLLUP
stock_no,要有索引

 
使用虚拟表如(clientdataset)联接Grid,把从服务器取来的数据,按需要的格式加入虚拟表不
就行了吗!
 
是个问题~~
不过我觉得上面的应该都不行
主要是显示出来统计数据,而且还是行记录的,如果是字段的,有计算机字段,可这个我看
可能还呆从数据集下手,让打开的数据集就是这个样子
 
这是我以前写的,可以实现你的功能,关键是最后的 With Rollup

select convert(char(10),a.jz_rq,102) as 'jz_rq',
a.sf_id,
max(d.sf_mc) as 'sf_mc',
sum(round(a.je+a.zf_je,2)) as 'sf_je'
from brsf_zb a,
yy_hjsf..bqsf_lx d,
zy_djk
where a.sf_id=d.sf_id and
zy_djk.tmk_id=:'in_zy_id' and
(a.je+a.zf_je)<>0 and
a.zy_id=zy_djk.zy_id
group by convert(char(10),a.jz_rq,102),a.sf_id
with rollup

给分哦! :P
 
可以写SAL程序流吗?
就是
select stock_no,null,'总价值',sum(pro_total) from tab
group by stock_no
再用游标循环将记录插入到表中,然后进行分组显示
具体的代码,你应该可以搞定,我想这样应该行
 
谢谢你们的回复,可 在DELPHI中总出错,UNION
 
用TSQUREY,起SAL内容就是select stock_no,null,'总价值',sum(pro_total) from tab
group by stock_no
然后用循环把每个记录的值用变量取出,而且把记录插入到ttable中,产品编号给NULL,
完成以后就可以对TTABLE的对象进行分组排序显示了,按着价格的降序,按编号分组
显示的就这个样子,这个时候又要用一个,TSQUEY
 
不好意思,没给具体的代码,不过应该可以了
 
使用虚拟表是最灵活的方式,可以以任意格式显示,而且不依赖于任何数据库.计算也很简单。
 
单独使用(union)肯定不能完成你的工作的
 
select stock_no as '仓库',pro_no as '产品编号',when (grouping(pro_name)=1) then
as '产品名称',pro_total as '总价' from ‘原有表’ group by stock_no,pro_name with rollup
 
TO:沙儿,很感谢你的回复,可我看不懂你的各个字段是什么意思?能否解释一下,我很菜的。
 
多人接受答案了。
 
顶部