Sql 查找Oracle 10g中任何级别的父级中粒度最大的级别
我的桌子结构是Sql 查找Oracle 10g中任何级别的父级中粒度最大的级别,sql,oracle,oracle10g,Sql,Oracle,Oracle10g,我的桌子结构是 | Parent ID | ID | |-------------|-------------| | a | b | | b | c | | b | d | | b | e | | c | f | | d | g
| Parent ID | ID |
|-------------|-------------|
| a | b |
| b | c |
| b | d |
| b | e |
| c | f |
| d | g |
| e | h |
我想获得所有父节点的最大子节点。
在另一张表中,我有a、b和c。然后我想得到下面的结果
| Parent_ID | Child |
|-------------|-------------|
| a | f |
| a | g |
| a | h |
| b | f |
| b | g |
| b | h |
| c | f |
f、g、h是最低的颗粒 首先,您应该确保使用的是Oracle vision 10g或更高版本,然后使用connect_by_isleaf,您可以尝试了解有关connect_by的更多信息
select connect_by_root a.id as id,a.parent_did
from table1 a inner join table2 b on a.id=b.id
where connect_by_isleaf = '1'
CONNECT BY PRIOR a.parent_did = a.id;
这绝对足够了