深入研究Oracle旋转insert语句

转自:http://database.51cto.com/art/201011/233953.htm

Oracle旋转insert语句即把表原来每行数据不同列值转换为另一种表的不同行值,下面就让我们一起了解一下这种insert语句的用法。

 

Oracle旋转insert语句可能对于很多刚接触Oracle的新人来说还比较陌生,下面就为您详细介绍Oracle旋转insert语句的实现方法,供您参考。

Oracle多表insert语句中还可以实现旋转Oracleinsert语句.即把表原来每行数据不同列值转换为另一种表的不同行值.
如:
create table 销售表(
id number primary key,
JAN number,
FEB number,
MAR number,
APR number
)

SQL> insert into 销售表 values(1,100,200,300,400);

1 row created.

SQL> insert into 销售表 values(2,110,120,130,140);

1 row created.

SQL> select * from 销售表;

ID        JAN        FEB        MAR        APR
---------- ---------- ---------- ---------- ----------
         1        100        200        300        400
         2        110        120        130        140

create table 月销售统计表
(编号 numeric,
月份 nvarchar2(10),
月平均销售额 numeric,
月销售额 numeric
);

旋转insert语句:
SQL> insert all
2 into 月销售统计表 values(1,'一月',avg1,sum1)
3 into 月销售统计表 values(2,'二月',avg2,sum2)
4 into 月销售统计表 values(3,'三月',avg3,sum3)
5 into 月销售统计表 values(4,'四月',avg4,sum4)
6 select avg(JAN) avg1,sum(JAN) sum1,
7 avg(FEB) avg2,sum(FEB) sum2,
8 avg(MAR) avg3,sum(MAR) sum3,
9 avg(APR) avg4,sum(APR) sum4
10 from 销售表;

4 rows created.

SQL> select * from 月销售统计表;

编号 月份                 月平均销售额   月销售额
---------- -------------------- ------------ ----------
         1 一月                          105        210
         2 二月                          160        320
         3 三月                          215        430
         4 四月                          270        540
源数据如下:
        ID        JAN        FEB        MAR        APR
---------- ---------- ---------- ---------- ----------
         1        100        200        300        400
         2        110        120        130        140

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值