WITH RECURSIVE
sætning/metode er anvendelig i PostgreSQL og Sybase (og måske nogle flere, tror jeg), så måske du kan se på dette i stedet:
http://www.artfulsoftware.com/mysqlbook/sampler/mysqled1ch20.html
Det burde vise dig nogle tilgange ved hjælp af MySQL (og en eller to i PHP, bare for at nævne - jeg ved, at det ikke er på din tagliste)