小编Gui*_*sta的帖子

在Postgres中使用sum进行递归查询

我必须在我的数据库中存储很多项目.每个项目都可以有子项目.结构看起来像一棵树:

                                     Project
                            /           |             \
                    ProjectChild1    ProjectChild2    [...]    ProjectChild[n]
                    /       |
 ProjectChildOfChild1    ProjectChildOfChild2
Run Code Online (Sandbox Code Playgroud)

树的层次是未知的.我正在考虑创建一个这样的表:

Projects:

project_ID id_unique PRIMARY_KEY
project_NAME text
project_VALUE numeric
project_PARENT id_unique
Run Code Online (Sandbox Code Playgroud)

在这种情况下,列project_PARENT将存储父项目的id(如果存在).

对于我的应用程序,我需要检索项目的总值,为此我需要总结每个项目子项和根项目的值.

我知道我需要使用递归,但我不知道如何在Postgres中这样做.

sql postgresql recursion common-table-expression

3
推荐指数
2
解决办法
2494
查看次数