Ciao,

guarda che in sql esistono le join


con questa query ottieni tutte le accoppiate categoria - sottocategoria in un unico colpo
Codice PHP:
$query "SELECT c.nome_categoria, s.nome_sottocategoria 
FROM categoria c, sottocategoria s 
WHERE c.id_categoria = s.id_categoria"

se vuoi puoi aggiungere anche i prodotti e ottenere
un result composto da row: categoria, sottocategoria