根据 2 个不同的表条件替换数据库字段



我需要根据邮件匹配条件更新表,需要知道可以解决这个问题的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。

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);

您需要使用连接 2 个表进行更新:

update New_data
inner join old_data on old_data.EMAIL = New_data.EMAIL
set New_data.WHITE_NO = 'true'

最新更新