У меня есть 2 таблицы следующим образом:
- В первой таблице хранится список ветвей с иерархической связью (
отец - ребенок)
- Второй список магазинов детей каждого филиала
Я попробовал следующее, но он может только посчитать прямых потомков этой ветви, но не может сосчитать более высокие уровни. Я пользуюсь оракулом 11г
select
branID, count(*) - 1 as itemCount
from
(
select
connect_by_root(a.branID) as branID
from
tBranch a INNER JOIN tItem b ON a.branID = b.branID
connect by prior a.branID = a.fatherID
)
group by branID