日期:2014-05-19  浏览次数:22575 次

[SQL]求一递归算法
数据如下

SQL code

F_Dept_ID   F_Parent_DeptID F_Dept_Name
----------- --------------- --------------------------------------------------
1           0               公司领导
2           0               办公室
3           2               文秘科
4           2               综合科
5           2               行政管理科
6           0               人事劳资部
7           6               人事管理科
8           6               劳动工资科
9           6               绩效考核办公室
10          0               党群工作部
11          10              组织干部科
12          10              宣传教育科
13          10              企业文化办公室
14          10              离退管理科
15          0               监察部
16          0               审计部
17          0               企业管理部
18          17              生产科
19          17              物资科
20          17              技术中心
21          17              质量监督管理科
22          17              综合科
23          0               资产管理部
24          23              设备科
25          23              配件科
26          23              基建科
27          23              信息管理科
28          23              网络运行科
29          23              综合科
30          0               财务管理部
31          30              财务科
32          30              会计科
33          30              综合科
34          0               烟叶经营部
35          34              省内业务科
36          34              省外业务科
37          34              成品科
38          34              综合科
39          0               安全保卫部
40          39              消防科
41          39              安全技术科
42          39              综合科
43          0               生产加工部
44          43              仓储车间
45          43              分级车间
46          43              打叶车间
47          43              动力车间
48          43              设备维护车间
49          43              综合办公室
50          0               公司工会
51          43              安技办公室
52          44              物流车间
53          44              仓储(初烟保管)
54          52              成品运输组
55          52              打叶运输组
56          52              挑选运输组
57          52              初烟运输组
58          45              挑选车间
59          58              其他
60          58              周转库(解包房\半成品
61          58              机台(挑选机台\精选线
62          46              双6吨线
63          46              12吨线
64          46              锅炉房
65          46              配电室
66          46              水泵房
67          46              空压机
68          62              回潮
69          62              预处理
70          62              打机
71          62              烤机
72          62              打包机
73          62              烤梗线
74          62              烤末线
75          62              其他
76          63              回潮
77          63              预处理
78          63              打机
79          63              烤机
80          63              打包机
81          63              烤梗线
82          63              烤末线
83          63              其他




数据如上,我想得到如下形式的数据,如何写SQL? 其中层次是根据根节点有多少层次来决定的

lever1 lever2 lever3 lever4
---------- -------------------------------------------------- -------------------------------------------------- --------------------------------------------------
生产加工部 打叶车间 12吨线 回潮
生产加工部 打叶车间 12吨线 预处理
生产加工部 打叶车间 12吨线 打机
生产加工部 打叶车间 12吨线 烤机
生产加工部 打叶车间 12吨线