写一个关于显示路径的sql语句(导航菜单动态显示)
WITH RecursiveMenu AS (
SELECT *, CAST(MenuName AS VARCHAR(MAX)) AS AllChildren
FROM [dbo].[MenuManagement]
WHERE PId = 0 -- 假设顶级菜单的PId值
UNION ALL
SELECT m.*, CAST(r.AllChildren + ' → ' + m.MenuName AS VARCHAR(MAX))
FROM [dbo].[MenuManagement] m
INNER JOIN RecursiveMenu r ON m.PId = r.MenuId
)
SELECT *
FROM RecursiveMenu;
需要更改的点:
1,MenuName是自己的菜单名,[dbo].[MenuManagement]是表名。
2,PId是父级Id,0是顶级Id的PId值。
3,MenuId是正常的主键编号
4.要有一个pid=0的值

浙公网安备 33010602011771号