|
Вывести сумму для обьектов, которые располагаются ниже по иерархии
|
|||
---|---|---|---|
#18+
Добрый день! Столкнулся с задачкой, подскажите как решить Есть таблица, где храняться работы разных уровней. Структура примерно такая: Необходимо для каждой работы получить сумму фактических часов (в таблице столбец - actual hours) работ нижнего уровня. Т.е. для WO1 должны просуммироваться JOB_1, JOB_2, JOB_3. Для WP1_1 - сумма WO1, WO2 и т.д. При этом фактические часы существуют только для работ самого нижнего уровня. Т.е. для WO1 сумма в базе не хранится... ct_id actual hours totalWP1 (null) (null)__WP1_1 (null) (null)____WO1 (null) (null)______JOB1 10 (null)______JOB1 40 (null)______JOB2 15 (null)______JOB3 (null) (null)__WP1_2 (null) (null)____WO1_2 (null) (null)______JOB1_2_1 10 (null) Нужный результат: ct_id actual hours totalWP1 (null) 75__WP1_1 (null) 65____WO1 (null) 65______JOB1 10 (null)______JOB1 40 (null)______JOB2 15 (null)______JOB3 (null) (null)__WP1_2 (null) 10____WO1_2 (null) 10______JOB1_2_1 10 (null) Пробовал стандартные функции группировки, суммирования и rollup - не вышло... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2021, 15:34 |
|
Вывести сумму для обьектов, которые располагаются ниже по иерархии
|
|||
---|---|---|---|
#18+
da.kuznetsov Пробовал стандартные функции группировки, суммирования и rollup - не вышло... если кодировать влоб, то select *,(select sum(ah) from t t2 ... start with t2.id=t.id ...) from t ... connect by ... у Вас значения только в листьях, подозреваю что есть "красивые" решения зы with c данными бы пригодился ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2021, 15:51 |
|
Вывести сумму для обьектов, которые располагаются ниже по иерархии
|
|||
---|---|---|---|
#18+
da.kuznetsovподскажите как решить Рекурсией. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2021, 15:52 |
|
|
start [/forum/topic.php?fid=52&msg=40115914&tid=1879714]: |
0ms |
get settings: |
18ms |
get forum list: |
5ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
36ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
149ms |
get tp. blocked users: |
1ms |
others: | 365ms |
total: | 585ms |
0 / 0 |