一个表T_department
上级部门和下级部门通过superDepID关联
最上级部门superDepID为NULL
现想获取一个部门的所有子部门
Sql语句有点生
开始思路是:
用一个递归通过superDepID
把所有子部门取全
递归结束条件却找不见
另想办法
建立一个临时表#ls
逐条遍历整个部门表
例如:从第一个部门开始
先查出第一个部门的所有上级部门
判断给定部门是否在上级部门集合中
如果成立,把第一个部门ID插入#ls
依次遍历整个部门表
最后#ls中存储的就是给定部门的所有子部门
然后再根据#ls表内容进行其他操作。
感觉有点乱
不知道还有好方法没。。。
找。。
上级部门和下级部门通过superDepID关联
最上级部门superDepID为NULL
现想获取一个部门的所有子部门
Sql语句有点生
开始思路是:
用一个递归通过superDepID
把所有子部门取全
递归结束条件却找不见
另想办法
建立一个临时表#ls
逐条遍历整个部门表
例如:从第一个部门开始
先查出第一个部门的所有上级部门
判断给定部门是否在上级部门集合中
如果成立,把第一个部门ID插入#ls
依次遍历整个部门表
最后#ls中存储的就是给定部门的所有子部门
然后再根据#ls表内容进行其他操作。
感觉有点乱
不知道还有好方法没。。。
找。。