您的位置:首页 > 其它

换一种思路解决问题

2008-01-16 23:04 381 查看
今天看到这样一个问题

我的数据表中有以下记录

id type time amount

1 1 080101 100

2 1 080102 20

3 2 080101 30

4 2 080103 50

5 1 080105 10

...

我想在水晶报表中,用 柱图 表示,用time和type做分组,目前显示效果是,横坐标是时间,080101上面有两个柱,type为1的值是100,type为2的值是30,080102上面,type为1的值是20。。。

我期望的效果是一种累加,即在080102上面,type为1的值不是20,而是加上之前所有天type为1的,即120。

以我的经验,单纯靠水晶报表图表似乎实现不出来这个效果。简单试验了下,确实不行,于是转而在数据上下功夫

经过多次试验,构造出如下SQL,

SELECT t1 AS type1, tt2 AS time1, Sum(a.aa1) AS amount

FROM

(SELECT sum(amount) as aa1, type1 as t1,time1 as t2 FROM test1 group by type1,time1) AS a,

(select type1 as tt1,time1 as tt2 from test1 group by type1,time1 ) AS b

WHERE a.t1=b.tt1 and a.t2<=b.tt2

GROUP BY a.t1, b.tt2

执行后构造出的数据为

查询1
[thead]
[/thead]

type1time1amount
1080101100
1080102120
1080105130
208010130
208010380
拿起计算器,按了几下,应该就是要的效果了

然后用这个View或者command再连上水晶报表,这效果就出来了







内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐