小编tat*_*tsu的帖子

SQL查找树中的所有直接后代

我的数据库中有一个使用父ID链接存储的树.

我对表中数据的一个示例是:

id  |  name      | parent id
---+-------------+-----------
0  | root          | NULL
1  | Node 1      | 0
2  | Node 2      | 0
3  | Node 1.1   | 1
4  | Node 1.1.1| 3
5  | Node 1.1.2| 3

现在我想得到一个给定节点的所有直接后代的列表,但如果不存在,我想让它只返回节点本身.

我希望id = 3的子查询的返回值为:

children
--------
4
5

然后查询id = 4的子节点:

children
--------
4

我可以改变我将树存储到嵌套集的方式,但我不知道这将如何使我想要的查询成为可能.

sql postgresql tree hierarchical-data

2
推荐指数
1
解决办法
5836
查看次数

标签 统计

hierarchical-data ×1

postgresql ×1

sql ×1

tree ×1