There really isn't a good way to process a tree like this, assuming an arbitrary depth, without using some form of recursion, and SQL doesn't "do" recursion.
If your tree has a known fixed depth limit, you can construct a query using outer joins or subqueries to "flatten" out the hierarchy.
There are other structures which will allow you to define and traverse a tree of arbitrary complexity, but that subject is quite complex and really beyond the scope of any discussion here. I suggest you obtain the book "SQL for Smarties" by Joe Celko - he devotes an entire chapter to the problem of defining and processing trees in SQL - in fact I understand he is soon coming out with an entire book on the subject.
Jeff Mason
Custom Apps, Inc.
www.custom-apps.com