小编典典

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

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排序将无法解决问题。


阅读 489

收藏
2021-04-07

共1个答案

小编典典

对于Oracle,使用分层查询

 select id, parent_id, level from the_table
 start with parent_id is null
 connect by prior id = parent_id;
2021-04-07