SQL para registros que não estão em outra tabela
Preciso montar um sql em que veja quais funcionários não estão em outra tabela de filiais.
Exemplo: tenho duas tabelas, uma de funcionário outra de filiais, onde na tabelas de filiais informo quais funcionários trabalham nela. Preciso montar um sql que me informe quais os funcionários que nào estão em nenhuma filial.
Obrigado.
[b:f5a5bdb307]Título editado: ´SQL urgente por favor´[/b:f5a5bdb307]
Procure escrever o título com uma breve descrição de sua necessidade. Leia as [url=http://forum.clubedelphi.net/viewtopic.php?p=17019#1d]cláusulas 1d e 1e[/url] das Regras de Conduta.
Sandra/Moderação
Exemplo: tenho duas tabelas, uma de funcionário outra de filiais, onde na tabelas de filiais informo quais funcionários trabalham nela. Preciso montar um sql que me informe quais os funcionários que nào estão em nenhuma filial.
Obrigado.
[b:f5a5bdb307]Título editado: ´SQL urgente por favor´[/b:f5a5bdb307]
Procure escrever o título com uma breve descrição de sua necessidade. Leia as [url=http://forum.clubedelphi.net/viewtopic.php?p=17019#1d]cláusulas 1d e 1e[/url] das Regras de Conduta.
Sandra/Moderação

Zicosh3
Curtidas 0
Melhor post

Anfm
15/06/2005
Faça assim
Select * from funcionario where CODFUNC not in (select CODFUNC from FILIAIS)
Select * from funcionario where CODFUNC not in (select CODFUNC from FILIAIS)
GOSTEI 5
Mais Respostas

Ericksasse
14/06/2005
Se informar a estrutura das tabelas facilita.
GOSTEI 1

Danilo Araújo
14/06/2005
Outra solução:
select a.*
from tabelaA a
left outer join tabelaB b on (a.campo = b.campo)
where b.campo is null;
A consulta de Anfm não funcionou para o meu caso, pois minha tabelaA tem dados que não tem na tabelaB e minha tabelaB tem dados que não tem na tabelaA, então a consulta não trouxe resultados, não sei explicar o porque.
select a.*
from tabelaA a
left outer join tabelaB b on (a.campo = b.campo)
where b.campo is null;
A consulta de Anfm não funcionou para o meu caso, pois minha tabelaA tem dados que não tem na tabelaB e minha tabelaB tem dados que não tem na tabelaA, então a consulta não trouxe resultados, não sei explicar o porque.
GOSTEI 1

Adauto Bezerra
14/06/2005
Olá a todos, resposta atrasada porém bem simples.
SELECT cli.codigocliente, cli.nomecliente FROM cliente cli
INNER JOIN outratabela out ON cli.codiclie <> out.codiclie
Aqui fazemos a junção das tabela com o INNER JOIN e na verificação usamos o operador relacional <> diferente, ou seja, clientes cujo o código seja diferente aos códigos da outra tabela.
Espero ter ajudado quem esteja atras, boa sorte.
SELECT cli.codigocliente, cli.nomecliente FROM cliente cli
INNER JOIN outratabela out ON cli.codiclie <> out.codiclie
Aqui fazemos a junção das tabela com o INNER JOIN e na verificação usamos o operador relacional <> diferente, ou seja, clientes cujo o código seja diferente aos códigos da outra tabela.
Espero ter ajudado quem esteja atras, boa sorte.
GOSTEI 1