Ir para conteúdo
Fórum Script Brasil
  • 0

Consultar Registros que não Possuem Relacionamentos


HelioChacal

Pergunta

Pessoal, estou com o seguinte problema:

Possuo uma tb chamada ObjetoNacional (ON), cuja chave primaria é composta pelos campos lista_data,lista_numero e objetonacional_codigo. Há uma outra tb chamada ObjetoNacionalServicoAdicional que se relaciona com a ObjetoNacional. Porém nem todo objeto nacional possue um serviço adicional, assim existem registros em ON que não são referênciados pelos regs de ObjetoNacionalServicoAdicional.

Bom, neste contexto gostaria de realizar uma consulta em ON trazendo tanto os registros que estão relacionados com ObjetoNacionalServicoAdicional, assim como os que não possuem relacionamento algum.

Já tentei o seguinte:

----------------------------------------------------------------

SELECT [ObjetoNacional].lista_data,

[ObjetoNacional].lista_numero,

[ObjetoNacional].objetonacional_codigo

FROM ObjetoNacional

INNER JOIN ObjetoNacionalServicoAdicional ON ([ObjetoNacional].lista_data =[ObjetoNacionalServicoAdicional].lista_data

and [ObjetoNacional].lista_numero =[ObjetoNacionalServicoAdicional].lista_numero

and [ObjetoNacional].objetonacional_codigo =[ObjetoNacionalServicoAdicional].objetonacional_codigo);

----------------------------------------------------------------

só que isso só me retornou os registros que possuiam relacionamento.

também já pensei em utilizar um LEFT JOIN e fazer um UNION, para trazer os demais registros, mas para isso eu precisaria ter uma FK com valor null.

Peço e já agradeço a ajuda de quem tiver algum conhecimento e dica sobre a situação.

Editado por HelioChacal
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Explicando/Ilustrando a necessidade de uma outra forma:

Imagina que tenhamos uma tb de UnidadesFederativas (UF) e uma tb de cidades com uma chave estrageira para relacionar cada cidade a sua respectiva UF.

Bom, diante disso, gostaria de realizar uma consulta para identificar quais UFs ainda não possuem cidades relacionadas! Isso é possível?

Editado por HelioChacal
Link para o comentário
Compartilhar em outros sites

  • 0

nada que um simple join não resolva:

uma vez que temos uma tabela de cidade e outra de univercidade e uma não depender da outra ficaria assim:

select u.universidade from univercidade u left join cidade c on

u.cod_univ = c.cod_univ

ou seja alem de trazer quem tem relação traz qtambem as univercidades que não há cidade ligada a elas isso fica explicito no trexo (lefy join(tabela da esquerda toda) e quem é a tabela da esquerda????)

para pegar apenas que não esta relacionado trate no where da seguinte maneira:

where u.cod_cid is null

claro que não tem nexo verificar se a chave esta nula meu exemplo apenas tenta lhe explicar como utilizar a SQL para resolver problemas desse genero.

espero ter ajudado até a proxima...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...