一个表T_department
上级部门和下级部门通过superDepID关联
最上级部门superDepID为NULL


现想获取一个部门的所有子部门

Sql语句有点生

开始思路是:
用一个递归通过superDepID
把所有子部门取全
递归结束条件却找不见




另想办法

建立一个临时表#ls

逐条遍历整个部门表
例如:从第一个部门开始
先查出第一个部门的所有上级部门
判断给定部门是否在上级部门集合中
如果成立,把第一个部门ID插入#ls
依次遍历整个部门表
最后#ls中存储的就是给定部门的所有子部门

然后再根据#ls表内容进行其他操作。

感觉有点乱
不知道还有好方法没。。。
找。。

posted on 2007-03-29 18:13  维德成员  阅读(880)  评论(1编辑  收藏  举报