0

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

任务prwbssequence是它的序列号,任务wbs_parseq与其父任务相同prwbssequence

所有这些信息都在 Oracle 表 ( prtask) 上。没有子任务(叶子)的任务的pristask值 ​​= 0,而那些有(父)的任务有pristask = 1。我需要计算所有父任务的工作百分比。这是其子任务的百分比努力的总和。

贝娄是我想工作的查询(但没有)。子查询有 sum(total_effort) 这实际上是子查询的结果。我想做的是计算父任务的 total_effort,然后使用这个值来计算它的父任务。关于如何做到这一点的任何想法?

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
4

0 回答 0