MySQL вставляет данные в таблицу 1, когда в таблице 2 найдена соответствующая запись - PullRequest
0 голосов
/ 30 января 2012

У меня есть две таблицы data1 и data2.Data1 содержит 2 столбца, адрес электронной почты и имя, но столбец имени пуст.

emailaddress    name
email1
email2
email3

Data2 Contains также содержит 2 столбца, адрес электронной почты и имя и содержит больше записей, чем data1

email address   name
email1          name1
email1b         name1b
email2          name2
email2b         name2b
email3          name3
email3b         name3b

Я пытаюсь написать запрос SQL, который сравнивает столбец адреса электронной почты из данных Data1 и Data2, и когда он находит совпадение, соответствующее имя из данных Data2 вставляется в соответствующее поле имени для data1.

После выполнения запроса Data1 должен выглядеть следующим образом

emailaddress    name
email1          name1
email2          name2
email3          name3

Я просто не могу понять, как это сделать.Любая помощь высоко ценится.

Ответы [ 2 ]

1 голос
/ 30 января 2012

Попробуйте:

UPDATE data1 a, Data2 b
SET a.name= b.name
WHERE a.emailaddress = b.emailaddress
0 голосов
/ 30 января 2012

try this

this only Отображает результат объединенной таблицы.

SELECT a.emailaddress,
       b.name
FROM   Data1 a INNER JOIN Data2 b 
               ON a.EmailAddress = b.emailaddress

UPDATE

этот запрос обновляет таблицу Data1.

    UPDATE a 
    SET  a.name = b.name
    FROM Data1 a INNER JOIN Data2 b 
               ON a.EmailAddress = b.emailaddress
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...