Scusa ho riletto bene quello che hai detto.Vuoi la soluzione ricorsiva....
Bè puoi usare la stessa query.Metti un ciclo while e la ripeti finchè la query no vai in not_found. A ogni ciclo al posto di nazione o id della nazione (che è meglio perchè più rapida) inserisci quella del figlio (cioè il risultante della select colonna "figli.id").I while dovrebbero essere più di uno perchè devi scorrere ogni ramo finchè la query torna qualcosa.
Se ho un attimo di tempo provo a darti qualcosa di più concreto.
Ciao.