如何让DBGRID这样显示?难问题!200分!

数据:Ms sql server
有一个表:
name type area sen min fee
a in bj,a 50 20 20
a in bj,b 60 10 5
a out bj,a 30 15 15
a out bj,b 40 25 25
b in gz,a 15 13 13
b in gz,b 12 6 6
b out gz,b 5 5 5
b in tj,a 3 3 3
b in tj,a 23 13 13
b out tj,a 33 21 21
---------------------------------------------------
如何才能让dbgrid这样显示?如果不成要怎么才能实现?
name type area sen in_min out_min income payout
a in bj 110 30 25
a out bj 70 40 40
b in gz 27 19 19
b out gz 5 5 5
b in tj 3 26 16 16
b out tj 33 21 21
----------------------------------------------------
要怎么写才能实现上边的显示?
[681 byte] By [NewType-新类型人] at [2007-12-16]
# 1
在数据集中先根据NAME排序,再根据AREA排序,再根据TYPE排序。
careerist at 2007-10-22 > top of Msdn China Tech,Delphi,VCL组件开发及应用...
# 2
先用SQL语句或存储过程完成相关计算,然后再在DBGRid中显示出来
ihh-明天 at 2007-10-22 > top of Msdn China Tech,Delphi,VCL组件开发及应用...
# 3
用ORDER BY NARM,AREA,TYPE
ddvboy-ddv-我心憔悴 at 2007-10-22 > top of Msdn China Tech,Delphi,VCL组件开发及应用...
# 4
问题看不懂
daniel007-添 at 2007-10-22 > top of Msdn China Tech,Delphi,VCL组件开发及应用...
# 5
select name,type,area,sum(sen),sum(min) as in_min group by name,type,area
没全写完,参考一下
jyqkr-酷鱼 at 2007-10-22 > top of Msdn China Tech,Delphi,VCL组件开发及应用...
# 6
要把area 字段拆开,
area area_ff
bj a
bj b
....

select name,type,area,sum(sen) as sen ,
in_min=
case
when type='in' then sum([min])
end,
out_min =
case
when type='out' then sum([min])
end,

sum(fee) as fee from bbbb group by [name],type,area
试了一下可以运行,不知道你的income payout的计算规则
# 7
给分吧
# 8
他奶奶的完全是到分贴
# 9
把他暴光
ddvboy-ddv-我心憔悴 at 2007-10-22 > top of Msdn China Tech,Delphi,VCL组件开发及应用...
# 10
我今天已经看到NewType的两个到分贴了,不知道各位是怎么想的,我已经把它列入我的黑名单了,以后拒绝回答他的任何问题,
怎么没有人管呢?
daniel007-添 at 2007-10-22 > top of Msdn China Tech,Delphi,VCL组件开发及应用...