首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Access >

求1个怪异的SQL语句解决方法

2012-04-08 
求1个怪异的SQL语句有表如下,树形结构Tree---------------------IDParentIDName10树叶A21树叶B31树叶C41树

求1个怪异的SQL语句
有表如下,树形结构
Tree
---------------------
ID     ParentID     Name
1       0                   树叶A
2       1                   树叶B
3       1                   树叶C
4       1                   树叶D
5       2                   树叶E
6       2                   树叶F
7       3                   树叶G

ParentID为0的记录为 "根 "
ParentID为1的记录都是记录“树叶A”的孩子
ParentID为2的记录都是记录“树叶B”的孩子
依此类推就构造了一个树形结构,不限深度

要执行的操作是,用户给出一个关键字,就要在当前树和他的孩子中查询,由于是树形结构,现在用的是递归,效率非常低
示意代码如下
function   Search(pID,Text){
      SELECT   *   FROM   Tree   WHERE   Name   LIKE   Text   AND   ID=pID
     
      SELECT   ID   FROM   Tree   WHERE   ParentID=pID
      List=GetRow( "ID ")
     
      for   i=0   to   List.length
          Search(List(i),Text)
      next
}

请问大家有什么简便的办法吗?



[解决办法]
树的操作,都要用递归方法,没有简便的办法。
[解决办法]
没有其他简单办法。

热点排行