ORACLE行列转换实例

来源:互联网 发布:java post重定向 编辑:程序博客网 时间:2024/04/30 22:09

                             行列转换实例
表ttt有三个字段
seq  --序列
jcxm --检查项目
zhi  --值

数据分别如下:
seq   jcxm       zhi
-------      --------          --------
11     1    0.50
11     2    0.21
11     3    0.25
12     1    0.24
12     2    0.30
12     3    0.22                            

实现功能
创建视图时移动行值为列值


create view v_view1
as
select seq,
       sum(decode(jcxm,1, zhi)) 检测项目1,
       sum(decode(jcxm,2, zhi)) 检测项目2,
       sum(decode(jcxm,3, zhi)) 检测项目3
from ttt
group by seq;

序号 检测项目1  检测项目2  检测项目3
11     0.50    0.21     0.25
12     0.24    0.30     0.22

附送一个ORACLE的FOR循环的例子:

declare
int_s number;
int_e number;
begin
select to_number(s),to_number(e) into int_s,int_e from table1;
for i in int_s .. int_e  loop
int_s := int_s+1;
end loop;
end;