2016-12-21 3 views
0

У меня есть две таблицы (X и Y) с столбцом E-Mail (имена столбцов: EmailX в таблице x и EMailY в таблице y). Я хочу удалить строки в таблице X, когда адрес электронной почты в таблице X является одним из адресов электронной почты в таблице Y. Чтобы сделать его более ясным - у меня есть таблица всех клиентов (с адресом электронной почты), и я хочу удалите заблокированных пользователей, которые сохраняются/сохраняются в другой таблице (с адресом электронной почты).Удалить строки в одной таблице, которые существуют в другом MYSQL

Я попробовал уже с этим, но подмигнули не работает ...

DELETE FROM X WHERE X.EmailX = Y.EmailY; 

Как я могу это сделать?

Спасибо за вашу поддержку!

ответ

1

Вы хотите сделать что-то вроде этого:

DELETE FROM X 
    WHERE X.EmailX IN (SELECT Y.EmailY FROM Y); 

Для того, чтобы ссылаться на таблицу, таблица должна быть включена в пункте FROM где-то.

1
delete X from X join Y on X.EmailX = Y.EmailY; 
Смежные вопросы