表test1:
字段: id pid
数据: b a
c b
d a
e c
输出结果(不分大小写):
A B
A C
A D
A E
B C
B E
C E
SELECT data,substr(DATA,1,instr(DATA,'/',0,1)+1) ID,substr(DATA,length(DATA),instr(DATA,'/',-1,1)) FROM (
select DISTINCT ltrim(sys_connect_by_path(ID,'/'),'/') DATA from test1 t CONNECT BY PRIOR ID = pID
) WHERE length(DATA)>1 ORDER BY ID
以后要更加重视oracle的函数啦!
本文介绍了一种使用Oracle SQL查询嵌套数据的方法,通过sys_connect_by_path函数来构造层级关系,并展示了一个具体的例子,帮助读者理解如何从具有父子关系的数据集中获取所需数据。
1万+

被折叠的 条评论
为什么被折叠?



