2010-11-29 99 views
0

我采取使用CTE(here)从树中的所有项目(如广告),但我不知道两件事情的一些问题 - 最难的部分:T-SQL有关递归查询(CTE)

1 )是否有可能获得找到的广告的所有类别名称? (在递归CTE查询中,查看上面的超链接)

2)和(可选)如何获得总数找到每个类别的广告计数?我的意思是,让我们说我发现了6个项目,从3类,我想看到的结果以这种方式

category1 (6) -\ 
|    category3 (4) 
category2 (2) 

任何想法会如此有益

+0

答案包括解释事物的文章链接 - 你认为*阅读*链接? – 2010-11-29 19:25:34

回答

1

您需要从去的第一个问题

with CTE (id, pid, name) 
as 
(
select id, parentid as pid,name 
from category 
where id = @lowLevelCategory 
union all 
select CTE.pid as id , category.parentid as pid, category.name 
from CTE 
inner join category 
on category.id = CTE.pid 
) 
select * from ss 

对于第二个:下到上,它可以与不断变化的查询命令前得到解决,你可以计算出分项目只数,但是不SUMM,你需要为这个计算的一些功能,因为分组或子选取不能在递归部分