Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 查找Oracle 10g中任何级别的父级中粒度最大的级别_Sql_Oracle_Oracle10g - Fatal编程技术网

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;
这绝对足够了