我有一个表“类别”,其中包含以下字段:
[id]
[category]
[childCategory]
[parentId]
我想将结果集作为一个树状结构取回,所以我正在尝试为它写一个cte。这棵树只有4层深。 第一次用cte和我很困惑,根本不熟悉sql server。
另外,我在桌面设计中没有发言权,这就是我所坚持的。
这是我没有运气的尝试
'WITH cte ( category [Level])
AS (
SELECT id, category, parentId, childCategory, 0 as [Level]
FROM Category
WHERE parentId IS NULL AND childCategory IS NULL
UNION ALL
SELECT t.id, t.category, t.parentId, t.childCategory, [Level] + 1
FROM Category AS t
JOIN cte AS a
ON t.parentId = a.id
)
SELECT * FROM cte order by category, [Level]'
感谢任何建议