duvida oracle codigo cidade
amigos tenho uma tabela cidade
e duas tabelas uma pessoa outra parente estas duas têm Fk para cidade pessoa_cidadefk e Parente_cidadefk que ligam em
cidade_codigo pk
que atem do codigo vem o nome da cidade e codigo_estado
há como eu selecionar as duas cidades distintamente
na tabela pessoa e guardado o codigo da cidade e na de parente também é o codigo da cidade
por exemplo
preciso do nome da cidade da pessoa e do parente no meu relatório tentei assim
SELECT p.codigo,NOME,CLAS_CADASTRO,pessoa_cep,ativo,fone,celular,c.cep_nome,
pa.parente_nome,par_reside,crente,parentesco_desc,parente_rua,parente_compl,parente_cod_pes,parente_Igreja,parente_fone,
b.bairro_nome,cid.cidade_nome,e.estado_Nome,
pai.pais_nome
FROM PESSOA p, parente pa,cep c,bairro b,cidade cid,estado e,pais pai
where p.pessoa_cep = c.id_cep
and pa.parente_rua = c.id_cep
and p.bairro = bairro_codigo
and p.cidade = cid.cidade_codigo
and p.estado = e.estado_codigo
and p.pais = pai.pais_cod
mas ela seleciona somente os dados do primeiro parente se tiver vários não vem todos
e duas tabelas uma pessoa outra parente estas duas têm Fk para cidade pessoa_cidadefk e Parente_cidadefk que ligam em
cidade_codigo pk
que atem do codigo vem o nome da cidade e codigo_estado
há como eu selecionar as duas cidades distintamente
na tabela pessoa e guardado o codigo da cidade e na de parente também é o codigo da cidade
por exemplo
preciso do nome da cidade da pessoa e do parente no meu relatório tentei assim
SELECT p.codigo,NOME,CLAS_CADASTRO,pessoa_cep,ativo,fone,celular,c.cep_nome,
pa.parente_nome,par_reside,crente,parentesco_desc,parente_rua,parente_compl,parente_cod_pes,parente_Igreja,parente_fone,
b.bairro_nome,cid.cidade_nome,e.estado_Nome,
pai.pais_nome
FROM PESSOA p, parente pa,cep c,bairro b,cidade cid,estado e,pais pai
where p.pessoa_cep = c.id_cep
and pa.parente_rua = c.id_cep
and p.bairro = bairro_codigo
and p.cidade = cid.cidade_codigo
and p.estado = e.estado_codigo
and p.pais = pai.pais_cod
mas ela seleciona somente os dados do primeiro parente se tiver vários não vem todos
Marcelo Augusto
Curtidas 0
Respostas
Cesar Roniglei
09/05/2012
Boa tarde,
Isso ocorre provavelmente porque nem todos os registros possuem cidade cadastrada, por isso deverá fazer seu WHERE da seguinte maneira:
Where CampoA(+) = CampoB
Este sinal (+) Significa que estará fazendo um Left Join, sem ele vc estará fazendo um INNER JOIN, é por isso que traz apenas um registro.
Qualquer duvida so me contactar.
César Roniglei
TI - Tecnologia da Informação
MSN : cesaronig@hotmail.com
Skype: cesar.roniglei
__________________________________________________________________
Isso ocorre provavelmente porque nem todos os registros possuem cidade cadastrada, por isso deverá fazer seu WHERE da seguinte maneira:
Where CampoA(+) = CampoB
Este sinal (+) Significa que estará fazendo um Left Join, sem ele vc estará fazendo um INNER JOIN, é por isso que traz apenas um registro.
Qualquer duvida so me contactar.
César Roniglei
TI - Tecnologia da Informação
MSN : cesaronig@hotmail.com
Skype: cesar.roniglei
__________________________________________________________________
GOSTEI 0