私はテーブルカテゴリを持っています、
1) ID
2) カテゴリ
名 3) カテゴリマスター
1コンピュータ
0
2 ソフトウェア 1
3 マルチメディア 1
4 アニメーション 3
5 Health 0
6 Healthsub 5
そして私は次のように再帰クエリを作成しました:
;WITH CategoryTree AS
(
SELECT *, CAST(NULL AS VARCHAR(50)) AS ParentName, 0 AS Generation
FROM dbo.Category
WHERE CategoryName = 'Computers'
UNION ALL
SELECT Cat.*,CategoryTree.CategoryName AS ParentName, Generation + 1
FROM dbo.Category AS Cat INNER JOIN
CategoryTree ON Cat.CategoryMaster = CategoryTree.Id
)
SELECT * FROM CategoryTree
コンピュータのすべてのサブカテゴリを取得するように、親カテゴリの結果を一番下に取得します
しかし、私はアニメーションからコンピュータへのようなボトムアップからの結果が欲しいです.誰かが私に正しい方向を提案してくれませんか.
前もって感謝します :)