程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 深入研究Oracle旋轉insert語句

深入研究Oracle旋轉insert語句

編輯:Oracle數據庫基礎

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved