在到达父母之前,获取所有孩子名单的最佳方法是什么?

时间:2019-05-26 15:52:29

标签: sql sql-server ssms common-table-expression hierarchical-data

我正在尝试获取孩子所拥有的所有父母的名单,直到到达上级父母为止。因此,如果我给该语句一个Rubrieknr,则需要返回所有上级父母,最后是头级父母

我尝试使用UNION函数,但似乎无法解决问题。

WITH n(Rubrieknr, Rubrieknaam) AS 
                    (SELECT Rubrieknr, Rubrieknaam
                    FROM Rubriek
                    WHERE Rubrieknr = (SELECT TOP 1 Rubrieknr FROM Rubriek WHERE RubriekParent IS NULL)
                    UNION ALL 
                    SELECT nplus1.Rubrieknr, nplus1.Rubrieknaam
                    FROM Rubriek as nplus1, n 
                    WHERE n.Rubrieknr = nplus1.RubriekParent) 
                    SELECT Rubrieknr, Rubrieknaam FROM n

我希望它返回如下内容:

parent 
child
child
child
*selected child*

0 个答案:

没有答案