我有一个表格类别,
1) Id
2) CategoryName
3) CategoryMaster
数据如下:
1 计算机 0
2 软件 1
3 多媒体 1
4 动画 3
5 健康 0
6 健康子类 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
我得到的结果是从父类别到底部的,比如我得到了计算机的所有子类别。
但是我希望结果是从底部到顶部,比如从动画到计算机,请问有人能给我正确的方向吗?
提前感谢您的帮助 :)