首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

统计报表如何实现,可以用oracle过程实现

2012-05-02 
求一个统计报表怎么实现,可以用oracle过程实现下面这些数据只是我举例说明, 实际是从数据库中读出来的sele

求一个统计报表怎么实现,可以用oracle过程实现
下面这些数据只是我举例说明, 实际是从数据库中读出来的
select t.product_type,t.product_sort,t.sale_date,t.product_qty from sales t order by t.product_type,t.product_sort,t.sale_date

电脑 戴尔 2012-01 210 10
电脑 联想 2012-02 180 7
电脑 联想 2012-02 190 9
手机 诺基亚 2012-01 100 6
手机 诺基亚 2012-02 110 12
手机 三星 2012-01 130 17

现在要统计成这样的形式

大类 小类 销售数(2012-01) 维修数(2012-01) 销售数(2012-02) 维修数(2012-02) 总销售数 总维修数  
 电脑 戴尔 210 10 210 10
 电脑 联想 370 16 370 16  
 电脑 合计 210 10 370 16 480 26
 手机 诺基亚 100 6 110 12 210 18
 手机 三星 130 17 130 17
 手机 合计 230 23 110 12 340 35
 总计 440 33 480 28 920 61


[解决办法]
把具体的表结构贴出来吧。没结构,别人也只是给个思路,思路的话,相信你也想了很多,只是实现不了。

有些东西,不可能就用个select 或是过程就能搞定的。不行就用临时表啦。
[解决办法]

SQL code
select t.product_type,t.product_sort,sum(decode(t.sale_date,'2012-01',t.product_qty,0))m1,sum(decode(t.sale_date,'2012-02',t.product_qty,0))m2,sum(product_qty) m3from sales t group by grouping sets((t.product_type,t.product_sort),(t.product_type),())
[解决办法]
表结构 贴出来吧
[解决办法]
建表发现个问题 查询只是4个字段 显示能显示出5个字段???
[解决办法]
SQL code
create table sales(product_type varchar2(10),product_sort varchar2(10),sale_date varchar2(7),product_qty number(10),product_wx number(10));insert into sales values ('电脑','戴尔','2012-01',210,10);insert into sales values ('电脑','联想','2012-02',180,7);insert into sales values ('电脑','联想','2012-02',190,9);insert into sales values ('手机','诺基亚','2012-01',100,6);insert into sales values ('手机','诺基亚','2012-02',110,12);insert into sales values ('手机','三星','2012-01',130,17); select product_type 大类,        product_sort 小类,       sum(decode(sale_date,'2012-01',product_qty,0)) x1,       sum(decode(sale_date,'2012-01',product_wx,0)) w1,       sum(decode(sale_date,'2012-02',product_qty,0)) x2,       sum(decode(sale_date,'2012-02',product_wx,0)) w2,       sum(product_qty) h1,       sum(product_wx) h2from sales group by rollup (product_type,product_sort)   大类   小类    x1    w1    x2    w2    h1    h2----------------------------------1    电脑    戴尔    210    10    0    0    210    102    电脑    联想    0    0    370    16    370    163    电脑        210    10    370    16    580    264    手机    三星    130    17    0    0    130    175    手机    诺基亚    100    6    110    12    210    186    手机        230    23    110    12    340    357            440    33    480    28    920    61
[解决办法]
探讨
你这个都是写死了

如果我又2005-01 到2012-04,那不是要写很多很多啊

[解决办法]
探讨

你这个都是写死了

如果我又2005-01 到2012-04,那不是要写很多很多啊

热点排行