日期:2014-05-18  浏览次数:20463 次

一个菜单树的查询,只有4个字段,需要大婶!
直接上图。

表其实就4个字段  
CT_ID 主键,标识。
CT_PID 父级ID。
CT_NAME 菜单树的名称。
CT_CODE 编码(唯一)

ISNODE 这个字段是我虚拟出来的,判断其下面是否有子集。


  我想要做的查询在图片里也说明了,就是我已知道一个CT_ID 要得到其下面所有的子节点,如果子节点下面也有子节点,那么要一并查询出来、求大婶指教。该如何查,假设表明为 TreeTable

------解决方案--------------------
SQL code

--这个是函数法,正好开着,就贴给你,栏位名自己改改
ALTER  function [dbo].[fn_bom]( @parent_part varchar(30))

returns @t_level  table(part varchar(30),level int)

AS

begin

declare @level int

set @level=0

insert into @t_level select @parent_part,@level

while @@rowcount>0

begin

  set @level=@level+1

  insert into @t_level select a.child_part,@level

  from T_bom a,@t_level b

  where a.parent_part=b.part

  and b.level=@level-1

end

return

end