ckcesar 7 Denunciar post Postado Abril 23, 2014 Galera estou com uma dúvida aqui meio louca eu nem sei se tem como fazer, ainda não achei nada mais se vcs souberem e me ajudar. Assim tenho 2 tabelas no banco: 1) Recados 2) Rec_recados No meu PHP inseri de duas formar: 1) Grava somente recados na tabela de recados; 2) Grava na tabela recados e após já pega o id e grava na tabela Rec_recados. Viram que gravei de duas maneirais. O problema é agora, quero fazer 2 select no banco. O primeiro mostra somente os da tabela Recados e outro select para mostrar os da tabela recados e tbm da tabela Rec_recados. Mais meu select da Recado tráz todos os dados, mais preciso que traga somente os que não tem ligação com a outra tabela. Alguém tem ideia como fazer? Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Abril 23, 2014 http://dev.mysql.com/doc/refman/5.0/en/exists-and-not-exists-subqueries.html Uma solucao e usar o NOT EXISTS Compartilhar este post Link para o post Compartilhar em outros sites
ckcesar 7 Denunciar post Postado Abril 23, 2014 Opa blz, olha como estou fazendo, SELECT cd_recado FROM deixar_recado WHERE NOT EXISTS (SELECT * FROM recados_perfil) Mais me retorna vazio e deveria retornar alguns códigos. Onde errei? Compartilhar este post Link para o post Compartilhar em outros sites
lokaodomau 61 Denunciar post Postado Abril 23, 2014 Como a consulta era feita antes? Compartilhar este post Link para o post Compartilhar em outros sites
ckcesar 7 Denunciar post Postado Abril 23, 2014 A consulta estou tentando assim: SELECT cd_recado FROM deixar_recado WHERE NOT EXISTS (SELECT * FROM recados_perfil) Compartilhar este post Link para o post Compartilhar em outros sites
lokaodomau 61 Denunciar post Postado Abril 23, 2014 O problema é agora, quero fazer 2 select no banco. O primeiro mostra somente os da tabela Recados e outro select para mostrar os da tabela recados e tbm da tabela Rec_recados. Mais meu select da Recado tráz todos os dados, mais preciso que traga somente os que não tem ligação com a outra tabela. Usa um LEFT JOIN, verifique qual é o relacionamento e na cláusula WHERE informe que quer receber somente onde o id da segunda tabela for NULL: SELECT * FROM `recados` r1 LEFT JOIN `rec_recados` r2 ON r2.id = r1.id WHERE r2.id IS NULL http://sqlfiddle.com/#!2/07324/1 Compartilhar este post Link para o post Compartilhar em outros sites