SQL-具有父子关系的排序表

我们有一个带有父子关系的表,希望对它进行排序。排序标准是这样的,以便在遍历结果时,与父ID匹配的行应该已经存在:

ID   PARENT_ID 

EF01 EF02 // This is wrong as the row EF02 is after and will fail.

EF02

BB AA // here BB < AA

AA EF01

问题在于两个密钥都是字符串,因此按ID或PARENT_ID排序将无法解决问题。

回答:

对于Oracle,使用分层查询:

 select id, parent_id, level from the_table

start with parent_id is null

connect by prior id = parent_id;

以上是 SQL-具有父子关系的排序表 的全部内容, 来源链接: utcz.com/qa/397682.html

回到顶部