upss1988:
Eu tenho essas duas tabelas de banco de dados:
table 1
id | user_id|
------------
1 | 14 |
2 | 15 |
3 | 16 |
4 | 17 |
table 2
id | current_user_id |
----------------------
21 | 14 |
22 | 15 |
23 | 16 |
24 | 17 |
25 | 18 |
user_id
e current_user_id
são o mesmo valor de duas tabelas diferentes.
Eu preciso percorrer o user_id
, compare com current_user_id
e para excluir todos os current_user_id
se a user_id
falta desse valor. (já suprimido)
Por exemplo: Se eu tenho current_user_id=14
e eu não tenho user_id=14
, então eu preciso current_user_id=14
para ser apagado.
El_Vanja:
Você pode utilizar um sub-consulta:
DELETE FROM table2 WHERE current_user_id NOT IN (
SELECT DISTINCT user_id FROM table1
);
NOT IN
especifica que ele deve excluir todos os registros cujo valor não for encontrado no conjunto de resultados selecionados da sub-consulta.