Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Então pessoal estou precisando fazer um consulta no banco e comprar os dados das tabelas e ver o que não se encaixa.
A estrutura é essa tabela principal pessoa, quando cria uma pessoa ele popular o id na tabela pessoa, parte, pessoa_fisica ou pessoa_juridica, preciso verificar se o ID de pessoa está em algum dessas tabelas caso não esteja em algum delas o sistema deve retornar o ID para que possa ser verificar visto que ele é um órfão.
Então NOT INconsegui fazer quando comparo a tabela pessoa com uma das outras agora verificar todas juntas não consegui fazer, poderia ajudar com a estrutura.
SELECT
OID
FROM
pessoa
WHERE
oid NOT IN
(
SELECT
OID
FROM
pessoa_fisica
)Faz com EXISTS
algo assim
select *
from pessoa p
where ( (not exists (select null from pessoa_juridica pj where pj.id = p.id))
and
(not exists (select null from pessoa_fisica pf where pf.id = p.id)) )Vlw mesmo, funcionou perfeitamente.
Pesquise por NOT EXISTS
Outra solução e fazer OUTER JOIN e testar se a chave na tabela buscada ficou nula.
Veja também isto