Fórum Resultados enexistentes em duas tabelas #51584

15/07/2005

0

Bom dia galera, preciso procurar em duas tabelas e retornar os registros que não existão entre elas pois é para ver quem está com pendencia,

ex:
tabela lancamentos A, Tabela Proventos B

select * from lancamentos A, Proventos B
where a.cod_prov = b.indice

o resultado será:
=======================
Provento: Nome: Valor:
INSS Costa e Silva 50,88
INSS Lucas Matheus 88,77
INSS João almeida 30,88
=======================
mais levando em consideração que tenho 7 registros em minha base gostaria que me retornace somente as 4 que não se encontrar acima.

Como posso fazer? pode ser via View ou Sp,,,

Grato


Marcos Fernando

Marcos Fernando

Responder

Posts

15/07/2005

Gm.gui

utilize uma sub select com a opção not exists na where


Responder

Gostei + 0

15/07/2005

Eduardo Pereira

Você pode usar o ´not exists´ no WHERE:

SELECT * FROM Proventos B
WHERE NOT EXISTS (SELECT * FROM Lancamentos A
                  WHERE a.cod_prov = b.indice)


Esta query retornará todos os registros da tabela proventos que não possuem lançamentos.

O NOT EXISTS implementa a operação de subtração (´MINUS´) entre conjuntos. No seu caso subtraimos da tabela Proventos todos os registros que já tinham associação com a tabela Lacamentos, retornando somente os que estavam sem associação (´pendentes´, segundo você).


[]´s
Eduardo Pereira


Responder

Gostei + 0

15/07/2005

Marcos Fernando

valeu galera a dica deu certinho, eu já tinha conseuido através de uma Sp mais não pelo modo sql simples

Valeu..


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar