Home > Database > Mysql Tutorial > body text

Oracle中的树查询与CASE查询

WBOY
Release: 2016-06-07 17:03:28
Original
1046 people have browsed it

当表具有层次结构数据时,通过使用层次查询可以更直观的显示数据结果,并显示其数据之间的层次关系。如下查询例子:

当表具有层次结构数据时,通过使用层次查询可以更直观的显示数据结果,并显示其数据之间的层次关系。如下查询例子:

select lpad(' ',3*(t2.grl_grouplevel-1))||t1.cif_namecn from cb_cst_inf t1,cs_group_rel t2 where t1.cif_cstno=t2.grl_cstid 
 start with t2.grl_cstid ='CB10001810' and t2.grl_groupid='10002135'
 connect by prior t2.grl_cstid = t2.grl_uplevelid;
--cs_group_rel表中grl_uplevelid字段体现层次关系,,最上级grl_uplevelid为空
--START WITH :用于指定层次查询的跟行
--CONNECT BY :用于指定父行和子行之间的关系,在这个条件中必须使用PRIOR引用父行,语法如下:...PRIOR expr=expr 或 ...expr=PRIOR expr

 

CASE查询:
select lpad(' ',5*(t2.grl_grouplevel-1))||t1.cif_namecn name,
 case when t2.grl_grouplevel='1' then '总公司'
      when t2.grl_grouplevel='2' then '一级分公司'
 else '一级以下分公司' end level_name  from cb_cst_inf t1,cs_group_rel t2 where t1.cif_cstno=t2.grl_cstid  --and t1.cif_cstno='CB10001810'
 start with t2.grl_uplevelid is null and t2.grl_groupid='10002024'
 connect by prior t2.grl_cstid = t2.grl_uplevelid;

linux

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!