Fórum Join para selecionar nomes que ñ existe em outra TB #239644
25/06/2004
0
Tenho uma tabela Access dai tenho que relacionar da tabela aluno os alunos que não estao cadastrado na tabela financeiro, sendo que tenho uma chave na tabela aluno chamada matricula_a e outra na tabela financeiro chamada cod_a
Fiz um join assim :
SELECT A.ALUNO FROM TBALUNO A,TBFINANCEIRO B WHERE A.MATRICULA<>B.COD_A
Dai meu result set traz nomes duplicados e se a tabela financerio tiver fazia ele não tras nada o que tem de errado nisso.
Estou fazendo isso para que relacionar em uma combobox do formulario financeiro somente alunos da tabela aluno que não possuem cadastro na TBFINANCEIRO
Alguem pode me ajudar por gentileza ?
Att.
Jonas.
Jonasaf
Curtir tópico
+ 0Posts
30/06/2004
Dataclass
Fiz um exemplo usando as tabelas de um sistema nosso e funcionou muito bem,existe mais de uma maneira de implementar isso(não vamos entrar no tópico performance),pro teu sistema seria mais ou menos assim:
qListaAlunosFaltandoFinanceiro.Close(); qListaAlunosFaltandoFinanceiro.SQL.Text := ´ SELECT Nome ´+ ´ FROM tabAlunos ´+ ´ WHERE matriculaAluno not in (SELECT distinct (matriculaAluno) ´+ ´ FROM tabFincanceiro) ´; qListaAlunosFaltandoFinanceiro.Open();
Em poruguês claro seria assim :Selecione os Nomes dos Alunos
(Localizados na tabela de Alunos) , mas somente os que não constam na tabela Financeiro.
Qualquer coisa é só postar que estamos a disposição!
Hugo / Reinaldo
Gostei + 0
30/06/2004
Paulo_amorim
Ainda:
SELECT a.* FROM alunos a LEFT JOIN financeiro f ON a.matricula = f.matricula WHERE f.matricula IS NULL
Espero que funcione
Até+
Gostei + 0
30/06/2004
Rogerio_amorim
SELECT aluno.*
FROM aluno
WHERE aluno.matricula_a not in (select aluno.matricula_a from aluno, financeiro
where aluno.matricula_a= financeiro.cod_a);
Espero ter ajudado !
Rogerio Amorim
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)