Обычно запросом получают данные с итогами и потом обходом результата запроса по группировкам строят дерево.
Вы можете получать данные по уровням через найтиСтроки в таблице значений.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.