@moto
You can join a single table multiple times in a query by using an alias name for each invocation of the join. However, building up large queries with a lot of joins and dependencies is not often a good idea, especially where these are generated from code. It's possible to end up generating queries that can never actually complete if you aren't careful.