2010-11-29 122 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,你需要爲這個計算的一些功能,因爲分組或子選取不能在遞歸部分