(case when instr(sample_num,'R')>0 then 1 else 0 end) R_flag
分析函数,行列转换【原博客链接:http://blog.csdn.net/herohuaxu/article/details/5816111】
Create Table temp
(
num varchar2(15 Char),
name varchar2(20 Char),
sex varchar2(2 Char),
classes varchar2(30 Char),
course_name varchar2(50 Char)
);
------------------------------------------------------------------------------------------------------------------------
insert into temp(num,name,sex,classes,course_name) values ('206211','王艺','男','06-1班','保险学');
insert into temp(num,name,sex,classes,course_name) values ('206212','肖薇','女','06-2','保险学');
insert into temp(num,name,sex,classes,course_name) values ('206212','肖薇','女','06-2','财务管理');
insert into temp(num,name,sex,classes,course_name) values ('206212','肖薇','女','06-2','财务会计');
insert into temp(num,name,sex,classes,course_name) values ('206213','陈雅诗','女','06-2','电子商务');
insert into temp(num,name,sex,classes,course_name) values ('206213','陈雅诗','女','06-2','公共经济学');
insert into temp(num,name,sex,classes,course_name) values ('206213','陈雅诗','女','06-2','公司理财');
insert into temp(num,name,sex,classes,course_name) values ('206213','陈雅诗','女','06-2','管理学原理');
insert into temp(num,name,sex,classes,course_name) values ('206213','陈雅诗','女','06-2','保险学');
insert into temp(num,name,sex,classes,course_name) values ('206214','李丹阳','男','06-1','保险学');
insert into temp(num,name,sex,classes,course_name) values ('206214','李丹阳','男','06-1','财务管理');
insert into temp(num,name,sex,classes,course_name) values ('206214','李丹阳','男','06-1','财务会计');
insert into temp(num,name,sex,classes,course_name) values ('206214','李丹阳','男','06-1','电子商务');
insert into temp(num,name,sex,classes,course_name) values ('206214','李丹阳','男','06-1','公共经济学');
insert into temp(num,name,sex,classes,course_name) values ('206215','杨伊琳','女','06-3班','环境管理学');
insert into temp(num,name,sex,classes,course_name) values ('206215','杨伊琳','女','06-3班','管理学原理');
insert into temp(num,name,sex,classes,course_name) values ('206215','杨伊琳','女','06-3班','商务谈判');
insert into temp(num,name,sex,classes,course_name) values ('206216','李佳琪','男','06-2','土地估计');
------------------------------------------------------------------------------------------------------------------------
select max(count(course_name))
from temp
group by num,name,sex,classes;
------------------------------------------------------------------------------------------------------------------------
select num,name,sex,classes,course_name,
row_number() over(partition by num,name,sex,classes order by course_name) rn
from temp;
------------------------------------------------------------------------------------------------------------------------
select num,name,sex,classes,
max(decode(rn,1,course_name,null)) course_name_1,
max(decode(rn,2,course_name,null)) course_name_2,
max(decode(rn,3,course_name,null)) course_name_3,
max(decode(rn,4,course_name,null)) course_name_4,
max(decode(rn,5,course_name,null)) course_name_5
from (select num,name,sex,classes,course_name,
row_number() over(partition by num,name,sex,classes order by course_name) rn
from temp)
group by num,name,sex,classes;
------------------------------------------------------------------------------------------------------------------------
select num,name,sex,classes,
(max(decode(rn,1,course_name,null)) || max(decode(rn,2,',' || course_name,null)) || max(decode(rn,3,',' || course_name,null)) || max(decode(rn,4,',' || course_name,null)) ||
max(decode(rn,5,',' || course_name,null))) name
from (select num,name,sex,classes,course_name,
row_number() over(partition by num,name,sex,classes order by course_name) rn
from temp)
group by num,name,sex,classes;
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
单表--- 树形结构 ----递归查询
select t.id,t.name,t.father_id,level from t_ikang_examination_type t
connect by prior t.id = t.father_id
start with t.father_id ='1'
---- 产前 ('a') ---- start 菜单 C7FB96A948A81B77E040A8C057E060D7
update t_user_resource s set s.business_ids='''a''' where s.id in
(select res1.id from t_user_resource res1 connect by prior res1.id = res1.father_id start with res1.id='D39E825FA76DFCDDE040A8C057E03EA2');
============================================================================
----------- 1:阴性 2 阳性 -1 处理失败
------------------------------------------------------------------------------------------------------
select C.sample_inspectarea,(C.failed+C.negative+C.positive+C.no_result) TOTAL,C.NEGATIVE NEGATIVE,C.FAILED FAILED,C.POSITIVE POSITIVE,
P_COMMON.F_GET_INTEGER(to_char(((C.POSITIVE)/(C.failed+C.negative+C.positive+C.no_result))*100,'fm9999999990.99999')||'%')POSI_PERCENT
from (
select sample_inspectarea,
SUM(DECODE (positive_nagative_flag,'-1',nums,0)) FAILED,
SUM(DECODE (positive_nagative_flag,'1',nums,0)) NEGATIVE,
SUM(DECODE (positive_nagative_flag,'2',nums,0)) POSITIVE,
SUM(DECODE (positive_nagative_flag,'0',nums,0)) NO_RESULT
from
(
select s.sample_inspectarea,s.positive_nagative_flag,sum(s.nums) Nums from mv_hpv_data_report s
where sample_inspectarea is not null -- and ||'---'
group by s.sample_inspectarea,s.positive_nagative_flag order by s.sample_inspectarea
)
group by sample_inspectarea
) C order by C.sample_inspectarea ;
-----------------------------------------------------------------------------------
------------------------------------------------------------------------------------
创建会话级 【session】临时表:
create global temporary table hims_visit_report_temp(hospital_id varchar2(32)) on commit preserve rows
ORACLE根据外键找关联的表
select * from user_cons_columns cl where cl.constraint_name = 外键名称。http://mrsad52.blog.163.com/blog/static/1721337982011101754649677/