Potrebbe ....sarebbe una catena di santantonio... a parte che una funzione che richiama se stessa non e' proprio il massimo,

Piu' logico che se una sottocategoria si dirama ulteriormente al punto di perdere il riferimento originale al link della categoria, venga assunta di fatto come "categoria nuova" con il suo link.

Dipende da che deve fare il programma. Quasi sicuramente rileggendo attentamente lo scritto iniziale, le cose stanno come supponi tu, rimane pero' che specifica chiaramente tre tabelle e pure i campi utilizzati, il che e' in contrasto con lo scenario "catena di santantonio".