SELECT distinct {fieldlist from three tables} from table1 join table2 on {expr1} and {expr2} LEFT JOIN table3 cc ON {expr3} LEFT JOIN table3 dd on {expr4} LEFT JOIN table3 ee on {expr5} left join (SELECT {fieldlist2}; FROM t_table1; JOIN table4 ON {expr6}; join (select max(datefield) as startdate, etc... group by ....) r2 ; on {expr7}; join table2 {expr1} and {expr7}; WHERE {expr8}; union SELECT {similar except some of the logical expressions are different}) as part2 on {expr9}; where {expr10}