Ir para conteúdo

POWERED BY:

Arquivado

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

wsrodrigues

Select - Achar 'filho' sem 'pai'

Recommended Posts

Havia um procedimento de DELETE com erro no sistema e acabou gerando vários 'filhos sem pais', ou seja, foram apagados registros vinculados a outros.

Existe algum SELECT que me mostre tais registros (sem pai) ou preciso fazer um script pra tal?

Antecipadamente grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim:

 

SELECT filha.id, filha.campo1 FROM filha WHERE (SELECT pai.id, pai.campo1 FROM pai WHERE pai.id = filha.pai_id) <=> NULL

Compartilhar este post


Link para o post
Compartilhar em outros sites

melhor postar a estrutura das tabelas para sugerir soluções

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, do jeito que eu te falei antes iria mostrar todas filhas com pai...

 

Mas é só trocar o sinal de "<=>" para "=":

 

SELECT filha.id, filha.campo1 FROM filha WHERE (SELECT pai.id, pai.campo1 FROM pai WHERE pai.id = filha.pai_id) = NULL

 

Sendo este "campo1" (podia ser "nome", "cidade", "email"...) somente um campo opicional usado como referencia... não é necessário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

"procurando nemo"

 

 

select *
from filho
where not exists (select null 
                  from pai
                  where pai.chave = filho.chave)

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.