在表中设置字段,其值是其Parent记录的PK,如此即可以方便地将节点添到树上,而且在Oracle中有STAR WITH...CONNECT BY 语句可选择树性记录。具体的语法请参考Oracle的文档。

解决方案 »

  1.   

    同意skin,如果不是Oracle,可以使用递归程序
      

  2.   

    建张辅助表,表中只存储父子关系,这样就不用每次做递归了。connect是个好东西,不过对于原表的结构有一定要求,用辅助表的话,可以将父子关系摆出来,对原来的应用程序影响不大。:)
      

  3.   

      強烈建議不用递归,應為可能伴隨事務的嵌套,而且在sql server中有層數的限制,你自己建個表,自己壓棧,很簡單啊,表結構一般是一張計節點,一張計關係,
    create tree ( node varchar(255) not null, primary key(node) )
    create relation ( father varchar(255) not null,child varchar(255) not null, primary key(father,child) )
      

  4.   

    建一个字段比如
    第一级:0
    第二级:011,012,013,...
    第三级:01111,01112,...
    依此类推
    遍历时,用like就全有了
      

  5.   

    如果你用oracle,则
    树形结构的递归查询看
    http://www.csdn.net/expert/topic/292/292500.shtm