Объединение двух таблиц и замена значений уникальным идентификатором - PullRequest
0 голосов
/ 14 марта 2019

У меня есть две таблицы, каждая из которых содержит уникальный идентификатор для наборов данных. В одной таблице есть все необходимые мне данные, включая адрес электронной почты. Другая таблица содержит около 3000 строк, которые имеют разные адреса электронной почты для некоторых записей. Как можно объединить эти две таблицы с SQL и просто заменить адрес электронной почты для тех, у которых есть запись во второй таблице, но сохранить все данные из первой таблицы, кроме адреса электронной почты?

Ответы [ 2 ]

1 голос
/ 14 марта 2019
SELECT COALESCE(EMAIL2, EMAIL1)
FROM TABLE1 T1
LEFT JOIN TABLE2 T2
on T1.ID = T2.ID

Это установит адрес электронной почты в качестве адреса электронной почты из второй таблицы, если он существует, в противном случае он сохранит адрес электронной почты из первой таблицы.

0 голосов
/ 14 марта 2019

Хотите обновить 1-ю таблицу?Если так:

update table1 inner join table2 
on table2.id = table1.id
set table1.email = table2.email
where table2.email is not null
...