创建交叉报表(oracle) - 中国WEB开发者网络 (http://www.webasp.net) -- 技术教程 (http://www.webasp.net/article/) --- 创建交叉报表(oracle) (http://www.webasp.net/article/21/20680.htm) |
| -- 作者:未知 -- 发布日期: 2005-04-29 |
创建交叉报表 create table t1( goodid number(10) not null, saledate date not null, salesum number(10) ); 要求生成本年度每个月的产品销售状况表 m1 m2 m3 ... m12 g1 g2 . . . gn 下面是生成报表的sql SELECT goodid, SUM(decode(to_char(saledate,'mm'),'01',salesum)) "01", SUM(decode(to_char(saledate,'mm'),'02',salesum)) "02", SUM(decode(to_char(saledate,'mm'),'03',salesum)) "03", SUM(decode(to_char(saledate,'mm'),'04',salesum)) "04", SUM(decode(to_char(saledate,'mm'),'05',salesum)) "05", SUM(decode(to_char(saledate,'mm'),'06',salesum)) "06", SUM(decode(to_char(saledate,'mm'),'07',salesum)) "07", SUM(decode(to_char(saledate,'mm'),'08',salesum)) "08", SUM(decode(to_char(saledate,'mm'),'09',salesum)) "09", SUM(decode(to_char(saledate,'mm'),'10',salesum)) "10", SUM(decode(to_char(saledate,'mm'),'11',salesum)) "11", SUM(decode(to_char(saledate,'mm'),'12',salesum)) "12" from t1 where to_char(saledate,'yyyy') = '2004' group by goodid order by goodid; |
| webasp.net |