ismenio Posted July 30, 2014 Report Share Posted July 30, 2014 Bom dia Apesar de estar habituado a trabalhar com o JOIN surgiu-me uma situação a qual não estou a conseguir resolver e por isso peço a vossa ajuda Tenho duas tabelas muito simples: Tabela: membros id_membro -------------- 1 -------------- 2 -------------- 3 -------------- Tabela: banidos id_banido --------------- 1 --------------- Se fizer a seguinte query tudo bem, funciona como esperado: SELECT * FROM membros LEFT JOIN banidos ON membros.id_membro=banidos.id_banido WHERE membros.id_membro = banidos.id_banido e devolve 1........tudo bem mas o que quero fazer é o contrario, quero que aparaçam os que não estão na tabela banidos, ou seja 2 e 3 para isso fiz a seguinte query mas não devolve nada, o que estou a fazer mal ? SELECT * FROM membros LEFT JOIN banidos ON membros.id_membro=banidos.id_banido WHERE membros.id_membro != banidos.id_banido Obrigada desde já. Link to comment Share on other sites More sharing options...
nelsonr Posted July 30, 2014 Report Share Posted July 30, 2014 Boas, se já tens a definição da relação entre as tabelas depois do ON, para que repetes no WHERE? Julgo que para fazer o que pretendes, deves usar WHERE banidos.id_banido IS NULL Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted July 30, 2014 Report Share Posted July 30, 2014 isso é obtido com um SQL muito mais simples e intuitivo : select * from membros WHERE id_membro NOT IN (SELECT id_banido FROM banidos) IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
ismenio Posted July 30, 2014 Author Report Share Posted July 30, 2014 (edited) Obrigada tens toda a razão, funciona 👍 Alias, funciona com ambas as sugestões. Edited July 30, 2014 by ismenio Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now