Sim, é possível usar um modelo de conjunto aninhado. Há um livro de Joe Celko que descreve, mas se você quiser ir direto ao assunto, há um artigo que fala sobre isso. Ambos os dados agrupados que você precisa podem ser recuperados por uma única instrução select como esta:
SELECT * FROM TableB where left > some_value1 and right < some_value2
No exemplo acima para obter todos os nós filhos de "Eletrônica Portátil", a consulta será:
SELECT * FROM Electronics WHERE `left` > 10 and `right` < 19
O artigo descreve como as colunas esquerda e direita devem ser inicializadas.