postgresql查询子节点
时间: 2023-10-01 19:08:08 浏览: 181
SQL 查询树形子节点.
5星 · 资源好评率100%
如果您正在使用PostgreSQL中的树形结构,可以使用递归查询子节点。例如,如果您有一个名为“tree”的表,其中包含以下字段:
- id: 节点ID
- parent_id: 父节点ID
您可以使用以下查询来查找给定节点的所有子节点:
WITH RECURSIVE tree_path AS (
SELECT id, parent_id
FROM tree
WHERE id = <given_node_id>
UNION
SELECT tree.id, tree.parent_id
FROM tree
JOIN tree_path ON tree.parent_id = tree_path.id
)
SELECT id FROM tree_path;
这个查询使用了递归CTE(公共表表达式)来查找给定节点的所有子节点,直到没有更多的子节点为止。在查询中,您需要将<given_node_id>替换为您要查找子节点的节点ID。
阅读全文