【发布时间】:2019-09-17 09:14:09
【问题描述】:
就递归查询语法寻求一点帮助,当然还有结果。
正如您将看到的,我有一个包含父子类别的表(父母可以有无限的孩子)。查询分类字典(链接到真实分类)
我只想返回每个类别树的最后一个孩子
更新了我的代码和信息
编辑
WITH RECURSIVE cat(id) AS (
SELECT
*
FROM
category_dictionary
LEFT JOIN category_dictionary.category ON category.id
WHERE
category.parent is NOT NULL
UNION
SELECT
*
FROM
cat
LEFT JOIN cat.category ON category.id
WHERE
category.parent is NOT NULL
)
SELECT
*
FROM
cat
表信息:
-
Category_dictionary是参数类别上的联接类别表 -
Category是带有 Parent 条目的主表。
样本数据:
category_dictionary 条目:
ID : name (Men) : category_id
category 条目:
category_id : name : parent (null or category_id)
因此我想要每个类别条目的所有最后一个子项,我的意思是没有子项的类别。
【问题讨论】:
-
请添加您的错误信息和一些示例数据
-
那些 LEFT JOIN 完全没有意义。
-
对于 LEFT JOIN 你需要一个 ON 子句...
-
我会尝试一些东西并更新,
-
请给我们一些示例数据和预期输出
标签: sql postgresql recursion recursive-query