日期:2014-05-17 浏览次数:21101 次
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) m3 from sales t group by grouping sets((t.product_type,t.product_sort),(t.product_type),())
------解决方案--------------------
表结构 贴出来吧
------解决方案--------------------
建表发现个问题 查询只是4个字段 显示能显示出5个字段???
------解决方案--------------------
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) h2
from sales
group by rollup (product_type,product_sort)
大类 小类 x1 w1 x2 w2 h1 h2
----------------------------------
1 电脑 戴尔 210 10 0 0 210 10
2 电脑 联想 0 0 370 16 370 16
3 电脑 210 10 370 16 580 26
4 手机 三星 130 17 0 0 130 17
5 手机 诺基亚 100 6 110 12 210 18
6 手机 230 23 110 12 340 35
7 440 33 480 28 920 61
------解决方案--------------------