Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.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 从数据库表获取与层次结构相关的值_Sql_Db2 - Fatal编程技术网

Sql 从数据库表获取与层次结构相关的值

Sql 从数据库表获取与层次结构相关的值,sql,db2,Sql,Db2,我在DB2中有一个简单的表,其结构如下: ID | Description | ParentID 01 | Cat | 101 02 | Salmon | 201 03 | Dog | 101 101 | Mammals | 301 201 | Fish | 201 301 | Vertebrates | 401 401 | Animals | 这描述了一个从叶子记录到动物的层次结构

我在DB2中有一个简单的表,其结构如下:

ID  |  Description |  ParentID
01  |  Cat         |  101
02  |  Salmon      |  201
03  |  Dog         |  101
101 |  Mammals     |  301
201 |  Fish        |  201
301 |  Vertebrates |  401
401 |  Animals     |
这描述了一个从叶子记录到动物的层次结构


我怎样才能得到一个给定ID的所有描述,直到最上面的描述——其中没有任何parentID?例如,对于ID 01,我想得到:Cat哺乳类脊椎动物动物

我想您需要一个connectby previor子句来启动递归:

Select Description
From table
Start with ID = 01
Connect By Prior ID = ParentID

您可以在应用程序中进行多次选择,直到获得空的ParentID。或者在您的SQLProblem中使用,我也不确定表名应该放什么。所以我做了…桌子。