> If you are using Firebird 2.1 or later, then the easiest way is to use a > recursive common table expression. I hope I got it right, but I think > you get the idea: > > with recursive r(id, original_id, hierarchy) as ( > select > id > , original_id > , 1 as hierarchy > from region > where id = 1 > union all > select > r2.id > , r2.original_id > , r.hierarchy + 1 > from region r2, r > where r.id = r2.original_id > ) > select * from r;
THANKS Thomas !!! Yes, I use FB 2.5 May I ask you a very big favor? I'd like to undestand how recursive selects are constructed. Could you explaing me a bit the select you made? Or probably there's somewhere in the net a paper about recursion in FB?? I'd really like to andestand this!! It's a very powerfull tool to use!!! Thank you very much again for your help. Very apreciated!! -s