读书人

sql递归查询解决方法

发布时间: 2012-01-09 21:05:42 作者: rapoo

sql递归查询
表结构
spid parentid
1 ws112 0
2 01 1
3 02 1
4 03 1
5 0101 2
6 0201 3
7 0301 4

求给定spid的最低级节点
例如给定ws112,求出0101 0201 0301

[解决办法]
sql递归
还是用存储过程写
或者放到C#代码里面

不过感觉这样效率太低
还是判断parentid小于某一个spid 不知行不行
[解决办法]
1 找ws112的子接点,插入临时表
2 遍历临时表中每一个记录
A 没有子节点的,放入结果表
B 有自节点的,将本身删除,然后将子节点加入临时表
3 直到临时表没有记录,就结束
4 结果表就是最地层记录

读书人网 >C#

热点推荐