这是 SQL Server 问题
我有一组类别,它们的关系导致嵌套类别。
我想建立一条保持关系并建立 SEF url 的途径。这是我正在寻找的:
Category table:
ID, Name
1, Root
2, Cat1
3, Cat2
4, Cat1.1
5, Cat1.2
6, Cat2.1
7, Cat2,2
CategoryChild table: ParentCategoryID, ChildCategoryID
1, 2
1, 3
2, 4
2, 5
3, 6
3, 7
它是一个无限的嵌套结构。这就是我正在做的事情(我知道它错了,但想要这样的东西):
WITH MenuItems
AS (
SELECT
CAST((ItemPath) AS VARCHAR(1000)) AS 'ItemPath',
CategoryID, Category, ChildID
FROM #Mapping
WHERE CategoryID = 1
UNION ALL
SELECT
CAST((items.ItemPath + '-/' + MenuItem.Category) AS VARCHAR(1000)) AS 'ItemPath',
MenuItem.CategoryID, MenuItem.Category, MenuItem.ChildID
FROM #Mapping AS MenuItem
JOIN MenuItems AS items
ON items.ChildID = MenuItem.CategoryID
)
select * from MenuItems
它给了我这样的东西:
根--------|1---|根---|2 根--------|1---|根---|3 根/Cat2---|3---|Cat2---|6 根/Cat2---|3---|Cat2---|7 根/Cat1---|2---|Cat1---|4 根/Cat1---|2---|Cat1---|5
所以理想情况下,路径应该是这样的:
根/父/子(等等)!