求一个查询语句

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该怎么办?

...全文
70 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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
  • 打赏
  • 举报
回复
一个查询应该搞不定吧.
一个循环(通过三个临时表)可以实现

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧