amgarcia 0 Denunciar post Postado Setembro 30, 2009 Boa Tarde! Estou com a seguinte dúvida, tenho uma tabela que chama TABELA1 e outra que chama TABELA2(possui uma FK que está relacionada com a TABELA1). Como eu faço para retornar apenas os registros da TABELA1 que não contenham na TABELA2, sem usar IN. No Oracle tem uma clausula que retorna o que tem em comum entre tabelas sem ser o WHERE, eu preciso do inverso disse, só que em MySQL. Valeu. Compartilhar este post Link para o post Compartilhar em outros sites
Eclesiastes 2 Denunciar post Postado Setembro 30, 2009 Guiando-se por um campo "ID", você poderia fazer usando NOT EXISTS ou com LEFT JOIN. Exemplos: SELECT t1.* FROM tabela1 t1 WHERE NOT EXISTS ( SELECT 1 FROM tabela2 t2 WHERE t2.id = t1.id ) SELECT t1.* FROM tabela1 t1 LEFT JOIN tabela2 t2 ON t2.id = t1.id WHERE t2.id IS NULL Esta última era a forma que faziam antes da versão 4.1, que não suportava subquery. Compartilhar este post Link para o post Compartilhar em outros sites