求一个查询语句

csdnfcy 2006-03-13 06:29:46
这个结构功能是一个树型,顶级是0、父编号是 那一名称的上一级编号

下有一个表结构如下


编号 名称 父编号
M1 名称1 0
S2 名称2 M1
D3 名称3 M1
F4 名称4 S2
K8 名称5 F4
K6 名称I F4
SP 名称9 D3
A3 名称6 K8


求如下结果

打找编号为S2级以下的所有记录

结果如下:

编号 名称 父编号
F4 名称4 S2
K8 名称5 F4
A3 名称6 K8
K6 名称I F4


高手帮忙一下!这样的SQL该怎么办?

...全文
47 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
csdnfcy 2006-03-13
很好呀!用这方法不错!
回复
zjcxc 2006-03-13
declare @编号 varchar(100)
set @编号='S2'


declare @l int
set @l=0
select 编号, Level=@l into # from 表 where 父编号=@编号
while @@rowcount>0
begin
set @l=@l+1
insert # select a.编号, @l
from 表 a, # b
where a.父编号=b.编号
and b.level=@l-1
end
select a.* from 表 a, # b where a.编号=b.编号
drop table #
回复
filebat 2006-03-13
一个查询应该搞不定吧.
一个循环(通过三个临时表)可以实现
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2006-03-13 06:29
社区公告
暂无公告