Beh.... ci sono diverse cose che dovresti fare secondo me.
Come prima cosa, visto che il sito sembra scritto in XHTML dovresti guardarti un po' di esempi su come si creano dei menù con le liste annidate, perché onestamente tutti quei DIV uno dentro l'altro sono davvero inguardabili e fuori dal concetto di base dell'XHTML circa la semantica degli elementi usati e la leggibilità del codice.

Detto questo, che è un mio parere personale e assolutamente off-topic, prima di perderti dietro una query nella query, sei proprio sicuro che ti serva annidare i menu in una tabella del DB??
Ti rendi conto che dovresti fare una query generale per gli argomenti principali ed una per ogni sottocategoria???
Rischi che il progetto sia davvero lungo da visualizzare e quindi poco appetibile per gli utenti.
Se poi sei su hosting condiviso "povero server come soffrirebbe"!!!!

Pensa bene: sei proprio sicuro che non puoi risolvere diversamente.... magari sfruttando un array multidimensionale per crearti il tuo bel menù???