我有一个层次结构,来自项目任务和子任务列表。子任务也可以有子任务。
任务prwbssequence
是其序号,任务wbs_parseq
与其父prwbssequence
相同。
所有这些信息都在Oracle表(prtask
)上。没有子任务(叶子)的任务具有pristask
值= 0,而具有(父)的任务具有pristask = 1
。我需要计算所有父任务的工作量百分比。这是其子任务的百分比努力的总和。
Bellow是我想要工作的问题(但不是)。子查询有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