我的表结构是
| 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是最低的颗粒。
答案 0 :(得分:0)
首先,您应确保使用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;