请教一个实际问题
政府部门排序,以前是按照ID排序的
但是现在想实现这样的排序
id deparentname parentuid orderid
编号 部门名称 上级编号 排序字段我想把部门按照
1 管委会 0 1
10 办公室 1 1
19 打印科 10 1
20 管理所 19 2
11 行政科 1 2
2 教育局 0 2
13 教育科 2 1
15 计划科 2 2
14 执行科 2 3
3 民政局 0 3
25 信访科 3 1 管委会
办公室
打印科
管理所
行政科
教育局
教育科
计划科
执行科
民政局
信访科请问这个多层排序的SQL语句怎么写?很急!求解决语句
政府部门排序,以前是按照ID排序的
但是现在想实现这样的排序
id deparentname parentuid orderid
编号 部门名称 上级编号 排序字段我想把部门按照
1 管委会 0 1
10 办公室 1 1
19 打印科 10 1
20 管理所 19 2
11 行政科 1 2
2 教育局 0 2
13 教育科 2 1
15 计划科 2 2
14 执行科 2 3
3 民政局 0 3
25 信访科 3 1 管委会
办公室
打印科
管理所
行政科
教育局
教育科
计划科
执行科
民政局
信访科请问这个多层排序的SQL语句怎么写?很急!求解决语句
select lpad(' ', (level - 1) * 5, ' ') || deparentname
from (select * from tab_name order by orderid)
start with parentuid = 0
connect by prior id = parentuid;
给个另类的表示方法
select a,b ,substr(sys_connect_by_path(deparentname,'/'),2) from doer03
start with parentuid = 0
connect by prior id = parentuid;
能得到各级的全路径
如果有格式 利用level 来解决。
楼上s正解