sql如何遍历所有子栏目
 表结构 
 ID   Name   ParentID 
 1      栏目      0 
 2      栏目      0 
 3      栏目      0 
 4      栏目      1 
 5      栏目      1 
 6      栏目      4   
 第一个问题:如何用sql语句把子栏目给列出来? 
 第二个问题:select   *   from   table   where   ID   in   (1,2,3,4) 
 如果把(1,2,3,4)用变量来表示,又该如何?好像mssql没有数组吧?     
------解决方案--------------------select * from table where ID in (1,2,3,4)   
 1  栏目  0 
 2  栏目  0 
 3  栏目  0 
 4  栏目  1 
 ---------- 
 这个结果的意义是?子栏目? 
------解决方案--------------------看错了,是两个问题,呵呵。
------解决方案----------------------这个方法不是我原创的。 
 --1)定义示范数据表,这里是3层目录树(可以任意层) 
 declare @aTable table (id int ,parentid int, foldername varchar(10)) 
 insert into @aTable values (1,null, '栏目 ') 
 insert into @aTable values (2,null, '栏目 ') 
 insert into @aTable values (3,null, '栏目 ') 
 insert into @aTable values (4,1, '栏目 ') 
 insert into @aTable values (5,1, '栏目 ') 
 insert into @aTable values (6,4, '栏目 ')   
 --2)获取需要复制的目录ID列表   
 declare @idtable table(id int,parentid int, foldername varchar(10)) 
 insert into @idtable  
 select id,parentid ,foldername 
 from @aTable 
 where id = 1--父ID 
 while @@ROWCOUNT> 0 
 begin 
   insert into @idtable 
   select b.id,b.parentid,b.foldername  
   from @idtable a join @aTable b on a.id=b.parentid 
   where not exists (select 1 from @idtable where id=b.id)   
 end     
 select * from @idtable   
 id          parentid    foldername  
 ----------- ----------- ----------  
 1           NULL        栏目 
 4           1           栏目 
 5           1           栏目 
 6           4           栏目
------解决方案--------------------第二个问题,比较笨的办法 
 declare @str varchar(8000) 
 set @str =  '1,2,3,4 ' 
 select * from table where @str like  '% '+ convert(varchar(10),id) +  '% '