首先你能告诉我你用的数据库是ORACLE吗!?如果是的话可以使用ORACLE的递归查询语句.如果不是ORACLE的话,你可以修改表结构如下:
id  parent_id top_id
01  01        01
02  01        01
03  02        01
top_id为老祖宗的ID,然后以它为条件查出来,再手工排序!

解决方案 »

  1.   

    我用的正是oracle8i.17呀,请问其递归查询语句如何写呢?谢啦。
      

  2.   

    因为XML本身是树型结构的你无需在数据库中设计表(当然,设计了更好),只要从Oracle中任意取出字段值,组成一个XML文档,然后利用XSLT或者JavaScript+MSXML,在浏览器上显示出来
      

  3.   

    因为XML本身是树型结构的你无需在数据库中设计表(当然,设计了更好),只要从Oracle中任意取出字段值,组成一个XML文档,然后利用XSLT或者JavaScript+MSXML,在浏览器上显示出来
      

  4.   

    select id,parent_id from test start with parent_id='00' CONNECT BY PRIOR parent_id=id;
      

  5.   

    SELECT LPAD(' ',2*(LEVEL-1)) || ename org_chart, 
            empno, mgr, job
        FROM emp 
        START WITH job = 'PRESIDENT' 
        CONNECT BY PRIOR empno = mgr; ORG_CHART    EMPNO      MGR        JOB
    ------------ ---------- ---------- ---------
    KING               7839            PRESIDENT
      JONES            7566       7839 MANAGER
        SCOTT          7788       7566 ANALYST
          ADAMS        7876       7788 CLERK
        FORD           7902       7566 ANALYST
          SMITH        7369       7902 CLERK
      BLAKE            7698       7839 MANAGER
        ALLEN          7499       7698 SALESMAN
        WARD           7521       7698 SALESMAN
        MARTIN         7654       7698 SALESMAN
        TURNER         7844       7698 SALESMAN
          JAMES        7900       7698 CLERK
     CLARK             7782       7839 MANAGER
       MILLER          7934       7782 CLERK
      

  6.   

    SELECT LPAD(' ',2*(LEVEL-1)) || ename org_chart, 
            empno, mgr, job
        FROM emp 
        START WITH job = 'PRESIDENT' 
        CONNECT BY PRIOR empno = mgr; ORG_CHART    EMPNO      MGR        JOB
    ------------ ---------- ---------- ---------
    KING               7839            PRESIDENT
      JONES            7566       7839 MANAGER
        SCOTT          7788       7566 ANALYST
          ADAMS        7876       7788 CLERK
        FORD           7902       7566 ANALYST
          SMITH        7369       7902 CLERK
      BLAKE            7698       7839 MANAGER
        ALLEN          7499       7698 SALESMAN
        WARD           7521       7698 SALESMAN
        MARTIN         7654       7698 SALESMAN
        TURNER         7844       7698 SALESMAN
          JAMES        7900       7698 CLERK
     CLARK             7782       7839 MANAGER
       MILLER          7934       7782 CLERK
      

  7.   

    谢谢各位啦,用 pengji(彭乃超) 的递归sql还是较容易。
      

  8.   

    谢谢各位啦,用 pengji(彭乃超) 的递归sql还是较容易。
      

  9.   

    谢谢各位啦,用 pengji(彭乃超) 的递归sql还是较容易。