У меня есть apartments table , внутри этого publisher_type колонка, как можна зделать так что если publisher_type равно 0 то Join user_table, а когда publisher_type равно 1 то Join organization_table?
select foo from apartments a
left join user_table u on u.id=a.user_id AND a.publisher_type=0
left join organization_table o on o.id=a.organization_id AND a.publisher_type=1
SELECT ..... WHERE ..... AND publisher_type= 0
UNION ALL -- важно не UNION, а UNION ALL (разницу погуглите)
SELECT ..... WHERE ..... AND publisher_type <> 0
Если в кратце:
UNION ALL - объединяет результаты двух запросов
UNION - обединяет результаты двух запросов, а так же удаляет дубли и сортирует.
По этому, UNION ALL почти всегда будет работать быстрее.
Причем тут email я совсем не понял....