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