我有一个表的结构为:
DPTNO,DPTNM,   PDPTN
0000  公司名称  NULL
A     A部门     0000
B     B部门     0000
AZ    A科室      A   
AA    AA班       AZ  
AB    AB班       AZ  
AC    AC班       AZ  
BZ    B科室      B   
BA    BA班       BZ  
BB    BB班       BZ  
要增加一个按级别的内容 
结果为:
DPTNO,DPTNM,   PDPTN,LEVEL01
0000  公司名称  NULL  0
A     A部门     0000  1
B     B部门     0000  1
AZ    A科室      A    .2
AA    AA班       AZ   ..3
AB    AB班       AZ   ..3
AC    AC班       AZ   ..3
BZ    B科室      B    .2
BA    BA班       BZ   ..3
BB    BB班       BZ   ..3
这个如何实现??
在线等

解决方案 »

  1.   

    这个是ORACLE中的表。用SQL语言或者函数或者存储过程
      

  2.   

    楼主什么意思啊?是不是录数据啊?那只有一条一条insert了,或者你的数据有规律也可以啊,或者存到其他什么地方(比如其他数据库,文件)导进来也可以的。
      

  3.   

    这是一个下级关联上级的,同时给出级别的表
    比如说 0000 代表公司名称那么它的级别最高位0;A/B代表部门她的级别在0000之下,则LEVEL01 为1,而 科室在部门的下边,则它的级别为 2 一下同理
      

  4.   

    我现在只有一个  DPTNO,DPTNM,PDPTN 这样结构的一个表 (PDPTN为上级部门) 现在我要把这个表做成一个包含级别的表
      

  5.   

    oracle版的好像都不喜欢结贴哦!
      

  6.   

    SQL> select tt.*,
      2         lpad(' ',level-1,'.')||(level-1) as lev
      3    from (select '0000' as dptno,'公司名称' as dptnm,NULL as pdptn from dual
      4          union all
      5          select 'A' as dptno,'A部门' as dptnm,'0000' as pdptn from dual
      6          union all
      7          select 'B' as dptno,'B部门' as dptnm,'0000' as pdptn from dual
      8          union all
      9          select 'AZ' as dptno,'A科室' as dptnm,'A' as pdptn from dual
     10          union all
     11          select 'AA' as dptno,'AA班' as dptnm,'AZ' as pdptn from dual
     12          union all
     13          select 'AB' as dptno,'AB班' as dptnm,'AZ' as pdptn from dual
     14          union all
     15          select 'AC' as dptno,'AC班' as dptnm,'AZ' as pdptn from dual
     16          union all
     17          select 'BZ' as dptno,'B科室' as dptnm,'B' as pdptn from dual
     18          union all
     19          select 'BA' as dptno,'BA班' as dptnm,'BZ' as pdptn from dual
     20          union all
     21          select 'BB' as dptno,'BB班' as dptnm,'BZ' as pdptn from dual
     22         )tt
     23  start with tt.dptno = '0000'
     24  connect by prior tt.dptno = tt.pdptn
     25  order by tt.pdptn;DPTNO DPTNM            PDPTN LEV
    ----- ---------------- ----- --------------------------------------------------------------------------------
    A     A部门            0000   1
    B     B部门            0000   1
    AZ    A科室            A     . 2
    AA    AA班             AZ    .. 3
    AC    AC班             AZ    .. 3
    AB    AB班             AZ    .. 3
    BZ    B科室            B     . 2
    BA    BA班             BZ    .. 3
    BB    BB班             BZ    .. 3
    0000  公司名称               010 rows selected