У меня есть три таблицы.
customer - имя, адрес электронной почты
history - id, идентификатор_пользователя, идентификатор_даты, дата
участник - имя, адрес электронной почты
Я пытаюсь получить имя и адрес электронной почты, используя таблицу истории, если customer_id равен -1, тогда необходимо получить имя и адрес электронной почты из таблицы участников, иначеТаблица клиентов, подобная этой:
SELECT * FROM history
left JOIN attendee ON attendee.id = history.attendee_id AND history.customer_id= '-1'
left JOIN customer ON customer.id = history.customer_id AND history.customer_id != '-1'
WHERE history.id = '605';
Я могу сделать то же самое, используя union all, но не используя join
код union all, как показано ниже
select cus.name,cus.email from histroy
join customer cus on cus.id = history.customer_id and history.customer_id not in ('0','-1')
union all
select cus.name,cus.email from history
join attendee cus on cus.id = history.attendee_id and history.attendee_id not in ('0','-1')
Могу ли я написатьприведенный выше код с использованием соединения.