正序:
select ltrim(sys_connect_by_path(org_abbreviation, '-'),'-')
from (select org_abbreviation,rownum rn
from (select coi.org_abbreviation
from comm_org_subjection cos
left join comm_org_information coi on cos.org_id =
coi.org_id
where cos.bsflag = '0'
and length(cos.org_subjection_id) >
(select length(tt.org_subjection_id)
from comm_org_subjection tt
where tt.org_id =
(select tt.code_afford_org_id
from comm_org_subjection tt
where tt.org_id = 'C1000000004640'))
start with cos.org_subjection_id =
(select cos1.org_subjection_id
from comm_org_subjection cos1
where cos1.org_id = 'C1000000002957'
and cos1.bsflag = '0')
connect by prior cos.father_org_id = cos.org_subjection_id
order by cos.org_subjection_id))
start with rn = 1
connect by prior rn = rn - 1;
反序:
select ltrim(sys_connect_by_path(org_abbreviation, '-'),'-')
from comm_org_subjection cos
left join comm_org_information coi on cos.org_id =
coi.org_id
where cos.bsflag = '0'
and length(cos.org_subjection_id) >
(select length(tt.org_subjection_id)
from comm_org_subjection tt
where tt.org_id =
(select tt.code_afford_org_id
from comm_org_subjection tt
where tt.org_id = 'C1000000004640'))
start with cos.org_subjection_id =
(select cos1.org_subjection_id
from comm_org_subjection cos1
where cos1.org_id = 'C1000000002957'
and cos1.bsflag = '0')
connect by prior cos.father_org_id = cos.org_subjection_id
order by cos.org_subjection_id;
分享到:
相关推荐
今天无意间,看connect by的使用,看到了sys_connect_by_path的用法,算是给我一个另类的惊喜了,sys_connect_by_path(columnname, seperator) 也可以拼出串来,不过这个函数本身不是用来给我们做这个结果集连接用...
很多场合我们都会用到...sys_connect_by_path(字段名, 2个字段之间的连接符号),这里的连接符号不要使用逗号,oracle会报错,如果一定要用,可以使用replace替换一下,方法如下 REPLACE(字段名,原字符,’,’)。这个
介绍了将多行转为字符串的三种方案,并比较了三种方案的执行效率. 1.sys_connect_by_path + start with ... connect by ... prior + 分析函数 2.自定义Function/SP 3.使用 Oracle 10g 内置函数 wmsys.wm_concat
行列转换,sys_connect_by_path,row_number等函数的用法
单值函数多数处理单个或多个值但只返回单个值(SYS_CONNECT_BY_PATH除外)。 聚合函数多数处理多行并且各分组序列分别返回成一行。 分析函数多数处理多行并且每条记录均会有返回。 需要注意不同类型函数可...
1. 查询本节点及本节点以下的所有节点: ...SELECT RPAD( ' ', 2*(LEVEL-1), '-' ) || DEPNAME "DEPNAME",CONNECT_BY_ROOT DEPNAME "ROOT",CONNECT_BY_ISLEAF "ISLEAF",LEVEL ,SYS_CONNECT_BY_PATH(DEPNAM
10.4.2 SYS_CONNECT_BY_PATH函数 279 10.4.3 CONNECT_BY_ROOT运算符 281 10.4.4 CONNECT_BY_ISCYCLE伪列和NOCYCLE参数 284 10.4.5 CONNECT_BY_ISLEAF伪列 287 10.5 小结 291 第11章 半联结和反联结 292 11.1 ...
oracle的函数; oracle数据库管理;oracle 的权角色; pl/sql 编程; 索引,约束和事物。 期望目标: 1 学会安装、启动、卸载oracle 2 使用sql *plus工具 3 掌握oracle用户管理 4 学会在oracle中编写简单的select...
11.9.2 Oracle中的SYS_CONNECT_BY_PATH()函数 11.9.3 My SQL Server和DB2中递归查询 附录A 常用数据库系统的安装和使用 A.1 DB2的安装和使用 A.2 MySQL的安装和使用 A.3 Oracle的安装和使用 A.4 ...
11.9.2 Oracle中的SYS_CONNECT_BY_PATH()函数 11.9.3 My SQL Server和DB2中递归查询 附录A 常用数据库系统的安装和使用 A.1 DB2的安装和使用 A.2 MySQL的安装和使用 A.3 Oracle的安装和使用 A.4 ...
11.9.2 Oracle中的SYS_CONNECT_BY_PATH()函数 11.9.3 My SQL Server和DB2中递归查询 附录A 常用数据库系统的安装和使用 A.1 DB2的安装和使用 A.2 MySQL的安装和使用 A.3 Oracle的安装和使用 A.4 ...
11.9.2 Oracle中的SYS_CONNECT_BY_PATH()函数 11.9.3 My SQL Server和DB2中递归查询 附录A 常用数据库系统的安装和使用 A.1 DB2的安装和使用 A.2 MySQL的安装和使用 A.3 Oracle的安装和使用 A.4 ...
11.9.2 Oracle中的SYS_CONNECT_BY_PATH()函数 11.9.3 My SQL Server和DB2中递归查询 附录A 常用数据库系统的安装和使用 A.1 DB2的安装和使用 A.2 MySQL的安装和使用 A.3 Oracle的安装和使用 A.4 ...