2010-11-29 8 views
0

私はCTE(here)を使用して、ツリーからすべての項目(例えば広告)を取るが、私は約2事を思ったんだけどに関するいくつかの質問 - 最も難しい部分:T-SQL再帰クエリ(CTE)

1 )それはどういうわけか、見つけられた広告のすべてのカテゴリ名を得ることは可能ですか?

2)とを(再帰CTEクエリで、上記のハイパーリンクを見て)(オプション)どのように総は、各カテゴリの広告の数を見つけ取得しますか?私が意味する、のは、私は3つのカテゴリーから6つのアイテムを見つけましょうと私は

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

すべてのアイデアは、あなたから行く必要がある最初の質問のための

+0

回答には物事を説明する記事へのリンクが含まれています。 –

答えて

1

とても参考になり、そのように結果を見てみたいと思います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を計算することができますし、グループ化するので、あなたは、この計算のためのいくつかの機能を必要としますか、副選択は再帰部分にはありません