Sì, è possibile utilizzare un modello di set nidificato. C'è un libro di Joe Celko che descrive, ma se vuoi entrarci subito c'è un articolo che ne parla. Entrambi i dati raccolti di cui hai bisogno possono essere recuperati da una singola istruzione select come questa:
SELECT * FROM TableB where left > some_value1 and right < some_value2
Nell'esempio sopra per ottenere tutti i nodi figlio di "Elettronica portatile", la query sarà:
SELECT * FROM Electronics WHERE `left` > 10 and `right` < 19
L'articolo descrive come inizializzare le colonne sinistra e destra.