I believe that what you want will require the use of filters to modify the query. Here is an article that gives a very basic description of such filters: http://wordpress.mcdspot.com/2010/05/30/filters-to-modify-a-query/
If you can use phpMyAdmin or a similar tool to create a query that works, you can use the filters to modify the query_posts() query to match.
My guess is that you will need to start with a very basic query_posts() query and add ‘LEFT JOIN’s for the other tables needed.