首页 新闻 会员 周边 捐助

数据库无限级目录的问题

0
悬赏园豆:30 [已解决问题] 解决于 2008-11-26 08:59

一个无限级目录的表,有三个字段,ID,ParentID,Name。还有一个放文章的表,它的父ID是目录表的ID字段。

现在目录表中有几个顶级的目录,也就是没有ParentID的。比如有目录A,和目录B。这两个顶级目录下面还有很多子目录,子目录下面还有子目录...,每个目录下面都有很多文章。

问题是我怎样知道 某个顶级目录 比如目录A 下面都有哪些文章?如果以目录A的ID来查找的话,那么目录A下面的子目录里的文章就无法找到。

luotong的主页 luotong | 初学一级 | 园豆:4
提问于:2008-11-24 10:01
< >
分享
最佳答案
1

多做冗余

可以增加一个IDList列..比如

0/1/2/,,代表当前id在0目录下的1目录下的2目录下,

查询的时候可以 like '0/1/2/*'来做

当然这也会带来插入以及更新的麻烦,不过用like操作也都一样

如果需要显示上的方便还可以增加一个nameList..

wingoo | 小虾三级 |园豆:1513 | 2008-11-24 10:50
其他回答(3)
0

xuexi

Jared.Nie | 园豆:1940 (小虾三级) | 2008-11-24 14:15
0

看到你的帖子,我马上动手做了个例子(用C#)做的

希望对你有用

其实原理都差不多,你可以参考一下,如果觉的有用就顶一下吧

http://www.cnblogs.com/seaandsky/archive/2008/11/24/1339949.html

华仔2008 | 园豆:205 (菜鸟二级) | 2008-11-24 15:48
0

SELECT ID, ParentID, Name, LEVEL
      FROM tab1
      START WITH ID = A
      CONNECT BY PRIOR ID = ParentID

Cheney Shue | 园豆:454 (菜鸟二级) | 2008-11-25 14:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册