LPAD  在列的左边粘贴字符
lpad('|', level*2-2, '|') || name  的意思就是在'|'前面粘贴'|',直到粘贴后的字符串的长度为level*2-2,然后再与name拼接。||线是oracle字符串的拼接符号。

解决方案 »

  1.   

    就是层次查询.
    根据LEVEL的值来确定NAME前面"|"的个数.
    自己就是加0个"|"
    子就是加2个"|"
    孙就是加4个"|"
    ......
      

  2.   

    connect by prior 是oracle树型处理语句来的,
    connect by prior id = parentId 的意思就是以id为子结点,parentId 为父结点连成树,(当一样记录的ID等于另一条记录的parentId 的时候,认为前一条记录是后一条记录的子结点),上面的level就是依照这种关系建立起来的树型结构的层,是一个伪列。order siblings by taxisnum是指出来的结果按taxisnum排序你把语句拿到你的数据库里面去运行一下,出来的结果会更直观一些。