查询子节点 postgresql
在PostgreSQL中,如果你想查询一个节点的所有子节点,你可以使用递归的Common Table Expressions (CTEs)。以下是一个例子,假设你有一个名为nodes
的表,它有两个字段id
和parent_id
。
WITH RECURSIVE sub_nodes AS (
SELECT id, parent_id
FROM nodes
WHERE id = :starting_node_id -- 这里替换成你要开始查询的节点ID
UNION ALL
SELECT n.id, n.parent_id
FROM nodes n
INNER JOIN sub_nodes sn ON n.parent_id = sn.id
)
SELECT * FROM sub_nodes;
在这个查询中,:starting_node_id
是你想要开始查询子节点的节点ID。递归的结束条件是当没有更多的子节点时。
请根据你的实际表结构和需求调整字段名和查询条件。
评论已关闭