Ir para conteúdo

Arquivado

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

Lauro Vinicius

Select Não Retorna Valores Desejados!

Recommended Posts

Olá Amigos! sou novo aqui no Fórum(Acabei de me Cadastrar rs) e Gostaria da Ajuda de vocês!

Estou Tentando Fazer o Seguinte Select no Meu Banco SQL SERVER:

SELECT     Empresa.*, Endereco.*, Pessoa.*, pessoa_categoria.*, Pessoa_Fisica.*,Pessoa_Juridica.*,Municipio.*

FROM
Pessoa 
INNER JOIN Empresa On Empresa.Empresa_i_Id = Pessoa.Pessoa_i_id_Empresa
Inner Join Pessoa_Categoria on Pessoa_Categoria_i_id = Pessoa.Pessoa_i_id_Categoria
Inner Join Pessoa_Fisica on Pessoa_Fisica.Pessoa_Fisica_i_id_pessoa = Pessoa.Pessoa_i_Id
Inner Join Pessoa_Juridica on Pessoa_Juridica.Pessoa_Juridica_i_id_pessoa = Pessoa.Pessoa_i_Id 
Inner Join Endereco on Endereco.Endereco_i_id_Pessoa = Pessoa.Pessoa_i_id                      
inner jOIN Municipio on Municipio.Municipio_i_id = Endereco.Endereco_i_id_municipio
Porém a Consulta Retorna Vazia! Não Sei o que estou fazendo de errado!
Porém se eu faço umas das Consultas Abaixo Funciona:
SELECT     Empresa.*, Endereco.*, Pessoa.*, pessoa_categoria.*,Pessoa_Fisica.*,Municipio.*

FROM
Pessoa 
INNER JOIN Empresa On Empresa.Empresa_i_Id = Pessoa.Pessoa_i_id_Empresa
Inner Join Pessoa_Categoria on Pessoa_Categoria_i_id = Pessoa.Pessoa_i_id_Categoria
inner Join Pessoa_Fisica on Pessoa_Fisica.Pessoa_Fisica_i_id_pessoa = Pessoa.Pessoa_i_Id 
Inner Join Endereco on Endereco.Endereco_i_id_Pessoa = Pessoa.Pessoa_i_id                      
inner jOIN Municipio on Municipio.Municipio_i_id = Endereco.Endereco_i_id_municipio
Ou...
SELECT     Empresa.*, Endereco.*, Pessoa.*, pessoa_categoria.*,Pessoa_Juridica.*,Municipio.*

FROM
Pessoa 
INNER JOIN Empresa On Empresa.Empresa_i_Id = Pessoa.Pessoa_i_id_Empresa
Inner Join Pessoa_Categoria on Pessoa_Categoria_i_id = Pessoa.Pessoa_i_id_Categoria
inner Join Pessoa_Juridica on Pessoa_Juridica.Pessoa_Juridica_i_id_pessoa = Pessoa.Pessoa_i_Id 
Inner Join Endereco on Endereco.Endereco_i_id_Pessoa = Pessoa.Pessoa_i_id                      
inner jOIN Municipio on Municipio.Municipio_i_id = Endereco.Endereco_i_id_municipio
Alguém Tem Uma Luz?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como uma pessoa não pode ser física e jurídica ao mesmo tempo a primeira query não funciona

 

1) Solução , usar OUTER JOIN

 

ou

 

2 faça um union

 SELECT     Empresa.*, Endereco.*, Pessoa.*, pessoa_categoria.*,Pessoa_Fisica.*,Municipio.*
FROM
Pessoa
INNER JOIN Empresa On Empresa.Empresa_i_Id = Pessoa.Pessoa_i_id_Empresa
Inner Join Pessoa_Categoria on Pessoa_Categoria_i_id = Pessoa.Pessoa_i_id_Categoria
inner Join Pessoa_Fisica on Pessoa_Fisica.Pessoa_Fisica_i_id_pessoa = Pessoa.Pessoa_i_Id
Inner Join Endereco on Endereco.Endereco_i_id_Pessoa = Pessoa.Pessoa_i_id                      
inner jOIN Municipio on Municipio.Municipio_i_id = Endereco.Endereco_i_id_municipio

union all

SELECT     Empresa.*, Endereco.*, Pessoa.*, pessoa_categoria.*,Pessoa_Juridica.*,Municipio.*

FROM
Pessoa
INNER JOIN Empresa On Empresa.Empresa_i_Id = Pessoa.Pessoa_i_id_Empresa
Inner Join Pessoa_Categoria on Pessoa_Categoria_i_id = Pessoa.Pessoa_i_id_Categoria
inner Join Pessoa_Juridica on Pessoa_Juridica.Pessoa_Juridica_i_id_pessoa = Pessoa.Pessoa_i_Id
Inner Join Endereco on Endereco.Endereco_i_id_Pessoa = Pessoa.Pessoa_i_id                      
inner jOIN Municipio on Municipio.Municipio_i_id = Endereco.Endereco_i_id_municipio

Atente apenas que as duas queries devem ter a mesma quantidade de campos e tipos

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.