我必须在我的数据库中存储很多项目.每个项目都可以有子项目.结构看起来像一棵树:
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中这样做.