Здравствуйте, Mckey, Вы писали:
M>M>У1
M> - У2_1
M> + У3_2
M> - У2_2
M> - У3_1
M> - У3_2
M>
M>И по знакам надо посчитать суммы (я уж не говорю если там будут не знаки, а например коэффициенты) — такая матчасть даже для Oracle не помогает...
M>Т.е. мы конечно попытались решить этим способом нашу задачу — не сильно помогло — тормоза и невозможность по нижнему уровню найти всех предков с соответсвующими коэф с которыми они попадут к этому предку
Гм... а в чем проблема?
select sum(ct) from
(select *
from table_name
start with id = Param
connect by prior id = parent_id
)
Для каждого узла (сомнительно, что это реально надо). Если грамотно расставить индексы (по parent_id и по id) проблем должно быть немного.
В проблему поиска предка по к-ту я, честно говоря, не въехал... Ну, делаем, там,
select * from table_name where parent_id = :param and ct = :param2
чем плохо? При наличии индексов...
Если нужно пройтись по дереву снизу вверх и чего-то там посчитать, то это вроде тоже решается так или иначе.
Хотя признаю: спал сегодня мало, могу нести разную ерунду...