Предположим, у вас есть стандартная таблица иерархии организаций в Oracle.Для простоты предположим, что в этой таблице Org есть столбец, который показывает, сколько сотрудников НАПРАВЛЕНО этой организации.
create table org (
org_id NUMBER(5),
parent_org_id NUMBER(5),
emp_count NUMBER (5)
);
insert into org values (1, NULL, 200);
insert into org values (2, 1, 50);
insert into org values (3, 1, 100);
insert into org values (4, 2, 100);
Возможно ли получить набор результатов, который выглядит следующим образом:
OrgID, Count
1, 450
2, 150
3, 100
4, 100
То есть не 450 человек, НАПРАВЛЕННО назначенных на OrgId1, но когда вы добавляете всехв OrgID1 и НИЖЕ, прямо или косвенно назначено 350 человек.Опять же, с OrgId2, есть 50 назначенных непосредственно + 100 назначенных под ним (в Org 4).
Простая идея, верно?Возможен ли такой запрос в Oracle?