set @type = (SELECT CASE WHEN (подзапрос) = 0
THEN 'left'
ELSE 'inner'
END)
@type JOIN table ON ...
select a.*, b.*
from table1 a
left join table2 b on (a.id = b.id)
where 1=1 /*постоянное*/
and b.id is not null /*при наличии этой строки будет inner join для left join*/