如何在 sql 服务器 2012 中为 child 找到 parents?
How to approach to find parents for child in sql server 2012?
我有一个 table 这样的:
如果我得到一个或一个 menuID 列表,我需要找到所有 menuID 的 parents。例如,如果我的 MenuID 为 1601120013,我需要找到以下内容。
我是 sql 的新手,我什至不确定如何处理这种情况。
您可以使用 Recursive CTE
WITH cte
AS (SELECT menuld,
menutitle,
parentmenuld
FROM Yourtable
WHERE menuld = 1601120013
UNION ALL
SELECT t.menuld,
t.menutitle,
t.parentmenuld
FROM cte c
INNER JOIN Yourtable t
ON t.menuld = c.parentmenuld)
SELECT *
FROM cte
我有一个 table 这样的:
如果我得到一个或一个 menuID 列表,我需要找到所有 menuID 的 parents。例如,如果我的 MenuID 为 1601120013,我需要找到以下内容。
我是 sql 的新手,我什至不确定如何处理这种情况。
您可以使用 Recursive CTE
WITH cte
AS (SELECT menuld,
menutitle,
parentmenuld
FROM Yourtable
WHERE menuld = 1601120013
UNION ALL
SELECT t.menuld,
t.menutitle,
t.parentmenuld
FROM cte c
INNER JOIN Yourtable t
ON t.menuld = c.parentmenuld)
SELECT *
FROM cte