当一篇文章可属于多个类,而类又是无限分类时的检索问题
分类采用递归无限级分类,一篇文章可属于N个分类,在检索父目录时如果把他所有的子目录下的文章也一同检索出来?     
 表设置如下:   
 分类表   
 sort_id         sort_name   parent_id 
 1                           分类1               0 
 2                           分类2               0 
 3                           子分类1         1 
 4                           子分类2         1   
 文章表   
 news_id   sort_list 
 1                     |1| 
 2                     |2| 
 3                     |1|2| 
 4                     |2|3| 
 5                     |2|4| 
 6                     |2|3|4|     
 当检索分类1的文章时,应返回结果如下:   
 news_id   sort_list 
 1                     |1| 
 3                     |1|2| 
 4                     |2|3| 
 5                     |2|4| 
 6                     |2|3|4|        
 请问应如何写SQL???
------解决方案--------------------刚才那个结果重复,用这个吧   
 create procedure pro_col  
 as 
 declare @cur_col varchar(30)   
 declare @sql varchar(1000) 
 set @sql= ' ' 
 declare cur_col cursor for 
 select distinct sort_id from 分类表 where sort_id=1 or parent_id=1 order by sort_id 
 open cur_col   
 fetch next from cur_col into @cur_col 
 while @@fetch_status = 0    
 begin     
 set @sql=@sql+ ' select * from 文章表 where sort_list like  ' '% '+ ' '+@cur_col+ ' '+ '% ' ' '+ ' union all  '   
 fetch next from cur_col into @cur_col   
 end 
 set @sql= 'select * into #temp from ( '+substring(@sql,1,len(@sql)-10)+ ' )t '+ ' select distinct * from #temp ' 
 print @sql 
 exec (@sql)   
 close cur_col 
 deallocate cur_col   
 go   
 exec pro_col    
 -------------------- 
 news_id sort_list 
 1       |1| 
 3       |1|2| 
 4       |2|3| 
 5       |2|4| 
 6       |2|3|4|