怎样写这个递归查询
表
fid pid
1 0
2 0
3 1
4 3
5 4
6 0
7
8
9
10
fid=5的上一级是 fid=4 而 fid=4的上一级是 fid=3 再上一级为0就是最大的一级
想查询条件 fid=4时候返回 3,1,0
[解决办法]
BOM精华帖。
2K5 CTE
2K的话麻烦。要整函数。
[解决办法]
- SQL code
--> 测试数据: @Tdeclare @T table (fid int,pid int)insert into @Tselect 1,0 union allselect 2,0 union allselect 3,1 union allselect 4,3 union allselect 5,4 union allselect 6,0--得到某节点的所有父节点;with maco as(select * from @T where fid=4union allselect a.* from @T a ,maco b where a.fid=b.pid)select * from maco order by fid/*fid pid----------- -----------1 03 14 3*/
[解决办法]
这头像是小齐嘛?要是是的话,难得啊!