У меня есть две таблицы, к которым я могу присоединиться следующим образом:
select * from
(select * from table1 t1
left join table2 t2 on t1.id = t2.id )
Я хочу добавить третью таблицу, в которую я группирую по электронной почте, чтобы заполнить данные в объединении выше, но я хочу толькозаполнить данные для записей, которые имеют количество адресов электронной почты только 1.Если для разных записей существуют дублирующие адреса электронной почты, их следует исключить.
Я пытался выполнить этот запрос:
select * from
(select * from table1 t1
left join table2 t2 on t1.id = t2.id
inner join ((select email from table3 group by email
having count(*) =1) t3
on t3.email = t1.emailaddress)
В этот момент, когда я объединяю поле электронной почты с другими участниками в более крупном объединении, я все еще вижу записи, заполненные данными, в то время как количество адресов электронной почты большечем 1 засыпается.
т.е.
таблица только из LEFT JOIN:
email missing_id
a@a.com
b@b.com
данные table3 ONLY
email missing_id
a@a.com 1
a@a.com 2
b@b.com 3
Все таблицы, объединенные, когда электронная почта встречается только один раз, должныобратно заполните данные в левом соединении так:
email missing_id
a@a.com
b@b.com 3