0

テーブル名:

SERVICEID SERVICENAME SERVICELINK PARENTID ORDERVALUE    
 ------------ ---------------- -------------- -------- --- --------------
 7 イベント追加 addEvent.do 2 1             
 8 残りの管理 # 3 1             
 9 ADD REMAINDER addRem.do 3 2             
 10 MODIFY 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 に答える