Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

guitarspeedy

Select em duas tabelas!

Recommended Posts

Olá !

 

Por favor, me ajudem...

 

Como eu faço esse select em duas tabelas: quero que apareça os registros da tabela1 que não tem referencia na tabela tabela2.

 

Ex.: Selecionar os nomes de DEPARTAMENTOS (da tabela DEPARTAMENTOS) que não exista em nenhum registro o CODIGO DO DEPARTAMENTO na tabela USUARIOS, ou seja, o departamento existe na tabela DEPARTAMENTOS mas o seu codigo NÂO EXISTE na tabela USUARIOS, conclusao: nao tem nenhum usuario com aquele departamento, e eu quero os nomes desses departamentos.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode ser feito assim:

 

SELECT d.codigo, d.nome 
   FROM departamento d 
      WHERE d.codigo 
         NOT IN (SELECT u.codigo FROM usuario u GROUP BY u.codigo)

 

Onde u.codigo seria a informação do código do departamento na tabela usuario.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara,

 

A solução do Andrade (subconsulta) funciona muito bem para tabelas pequenas ou com poucos agrupamentos.

 

Se você tiver uma chave primária na tabela Departamento (pk_Id_Dep) e uma chave estrangeira na tabela Funcionários (fk_Id_Dep),

 

um JOIN externo funciona muito mais rápido, veja:

 

SELECT nrodepto,nomedepto FROM tabdepto LEFT JOIN tabfunc ON nrodepto.tabdepto = nrodepto.tabfunc WHERE nrodepto.tabfunc ISNULL GROUP BY nrodepto,nomedepto ORDER BY nrodepto;

 

Esta consulta retorna os registros (nrodepto,nomedepto) de tabdepto para os quais a correspondência na tabela tabfunc é nula.

 

Se as tabelas forem grandes, ela é muito mais rápida.

 

abçs

 

:unsure:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi tbm estou prescisando d ajuda!!!!!

 

Tenho duas tabelas uma d cand_prefeitos e outra cand_vereadores e presciso listar os nomes dos candidatos das duas tabelas por partido será q alguém teria como me ajudar??? :blink:

 

Obrigado!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.