я так понимаю достаточно просто сделать выборки из этих таблиц - по резултсету на каждую, соответственно курсоров буит только 2.Далее двойной цикл идёшь по элементам от главного до дочерних и строишь дерево...а вообще можно поробовать написать вид :elemenе_code|parent_code|element_name - order by по паренту - и за один проход можно попробовать сделать.