month3 number(10,2) --3
月销售金额
month4 number(10,2) --4
月销售金额
month5 number(10,2) --5
月销售金额
month6 number(10,2) --6
月销售金额
month7 number(10,2) --7
月销售金额
month8 number(10,2) --8
月销售金额
month9 number(10,2) --9
月销售金额
month10 number(10,2) --10
月销售金额
month11 number(10,2) --11
月销售金额
month12 number(10,2) --12
月销售金额
结构转化的SQL语句为:
create or replace view
v_sale(year,month1,month2,month3,month4,month5,month6,month7,month8,month9,m
onth10,month11,month12)
as
select
substrb(month,1,4),
sum(decode(substrb(month,5,2),'01',sell,0)),
sum(decode(substrb(month,5,2),'02',sell,0)),
sum(decode(substrb(month,5,2),'03',sell,0)),
sum(decode(substrb(month,5,2),'04',sell,0)),
sum(decode(substrb(month,5,2),'05',sell,0)),
sum(decode(substrb(month,5,2),'06',sell,0)),
sum(decode(substrb(month,5,2),'07',sell,0)),
sum(decode(substrb(month,5,2),'08',sell,0)),
sum(decode(substrb(month,5,2),'09',sell,0)),
sum(decode(substrb(month,5,2),'10',sell,0)),
sum(decode(substrb(month,5,2),'11',sell,0)),
sum(decode(substrb(month,5,2),'12',sell,0))
from sale
group by substrb(month,1,4);
<2>. NVL(x1,x2)
注意ORACLE中的NULL值,注意该函数作用
功能:如果x1为空返回x2,否则返回x1。
例子:SELECT NVL(ename,'无姓名') FROM EMP;
二. 下面是分组函数
1.AVG([{DISTINCT|ALL}]<n>)
功能:求返回行的指定列的平均值
例子:SELECT AVG(sal),AVG(ALL sal),AVG(DISTINCT sal) FROM SCOTT.EMP;