Sql 使用查询的部分结果计算同一查询的其他行

Sql 使用查询的部分结果计算同一查询的其他行,sql,oracle,hierarchy,Sql,Oracle,Hierarchy,我有一个来自项目任务和子任务列表的层次结构。子任务也可以有子任务 任务prwbsequence是其序列号,任务wbs\u parseq与其父任务prwbsequence相同 所有这些信息都在Oracle表中(prtask)。没有子任务(leaf)的任务具有pristaskvalue=0,而有(父)子任务的任务具有pristask=1。我需要计算所有父任务的工作量百分比。这是其子任务的工作百分比总和 下面是我想工作(但不想)的问题。子查询有sum(total_efforce),这实际上是子查询的结

我有一个来自项目任务和子任务列表的层次结构。子任务也可以有子任务

任务
prwbsequence
是其序列号,任务
wbs\u parseq
与其父任务
prwbsequence
相同

所有这些信息都在Oracle表中(
prtask
)。没有子任务(leaf)的任务具有
pristask
value=0,而有(父)子任务的任务具有
pristask=1
。我需要计算所有父任务的工作量百分比。这是其子任务的工作百分比总和

下面是我想工作(但不想)的问题。子查询有sum(total_efforce),这实际上是子查询的结果。我希望这样做的是计算父任务的总工作量,然后使用此值计算父任务的工作量。你知道怎么做吗

SELECT task.prprojectid, task.prname, task.pristask, 
DECODE (task.pristask, 
          1, task.percent_effort,
        0, (SELECT sum(total_effort)
              FROM prtask t2,
              WHERE prprojectid = task.prprojectid and task.pristask = 0 AND wbs_parseq =                   prwbssequence
              GROUP BY wbs_parseq)
        ) total_effort
FROM prtask task
AND task.prprojectid = 5008045
ORDER BY task.prwbssequence desc

您能否发布一个示例数据结构以供指导?再加上创建一个SQLFiddle-使用它?您是否试图递归地求和给定项目的每个子任务的总工作量?