0

表名:

SERVICEID SERVICENAME SERVICELINK 父 ID ORDERVALUE    
 ------------ ---- -------------- -------- --- -------------
 7 添加事件 addEvent.do 2 1             
 8 管理余数 # 3 1             
 9 添加剩余部分 addRem.do 3 2             
 10 修改 modifyRem.do 8 1             
 1 家 # 0 1             
 2 事件 # 0 2             
 3 余数 # 0 3             
 4 我的个人资料 # 0 4             
 5 登录详情 # 0 5             
 6 关于我们 # 0 6             

期望的结果是

家

事件
   添加事件

余
   添加余数
   管理余数
       调整

我的简历

登录详细信息

关于我们
4

1 回答 1

0

尝试这个:

 with CTE (SERVICEID,PARENTID,SERVICENAME,[level]) as (
   select SERVICEID,PARENTID,SERVICENAME,0 as [level] 
   from page_items where PARENTID=0
   union all
   select P1.SERVICEID,P1.PARENTID,P1.SERVICENAME,P2.[level]+1 as [level] 
   from page_items P1, CTE P2
 where p2.SERVICEID=p1.PARENTID)
select lpad('      ',[level])||SERVICENAME from CTE
于 2012-08-01T07:31:44.970 回答