Заменить поле базы данных на основе 2 различных табличных условий - PullRequest
0 голосов
/ 17 июня 2019

Мне нужно обновить таблицу на основе условия соответствия электронной почты, и мне нужно знать SQL-запрос, который может решить эту проблему.

У меня есть 2 таблицы "old_data" и "new_data"

Old_data contains around 60,000 records and fields "EMAIL"
New_data contains around 90,000 records and fields "EMAIL" "WHITE_NO"

Вот мое логическое состояние, с которым мне нужна помощь.

Update * from Old_data, New_data SET New_data.WHITE_NO = 'true' WHERE old_data.EMAIL = New_data.EMAIL

Что он будет делать, так это искать все электронные письма в таблице old_data, сопоставлять их с теми же электронными письмами в таблице new_data и заменять значения поля WHITE_NO на true.

Ответы [ 2 ]

1 голос
/ 17 июня 2019
UPDATE new_data
       JOIN old_data
       ON new_data.EMAIL = old_data.EMAIL
SET    new_data.WHITE_NO = 'true';

ИЛИ

UPDATE new_data
SET new_data.WHITE_NO ='true'
WHERE new_data.EMAIL IN (SELECT EMAIL FROM old_data);
1 голос
/ 17 июня 2019

Вам нужно обновление с объединением двух таблиц:

update New_data
inner join old_data on old_data.EMAIL = New_data.EMAIL
set New_data.WHITE_NO = 'true'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...