我需要一个SQL / PSQL查询,该查询使我可以指定父级的层次关系。
我只是尝试了一个递归查询,但是我无法指定第一个父代,然后我尝试将整个CTE表达式放入函数中,最后我尝试使用声明的变量,并在每次使用查询时重新声明它。
DECLARE @procura = null;
WITH RECURSIVE hierarquia (procura) AS (
SELECT categoria, super_categoria
FROM
CONSTITUIDA
WHERE
super_categoria = @procura
UNION
SELECT c.categoria, c.super_categoria
FROM
CONSTITUIDA c
INNER JOIN hierarquia h ON h.categoria = c.super_categoria
) SELECT
*
FROM hierarquia;
注意: CONSTITUIDA有两列,分别是类别和父类别,分别是子类别和超类别。
我想指定CONSTITUIDA的父级,它应该以所有递归深度返回该父级的所有子级。