Ajuda Select no Oracle

27/09/2020

0

Olá pessoal, gostaria muito de uma ajuda de vocês numa select Oracle.

Seguinte eu tenho um produto que pode ter mais de um registro de acordo com o tipo. Por exemplo:

Tabela Produto
------------------------
Pk_codigo - 100
Pk_tipo - A
Nome - banana
Dt_Adt - 02/02/2020
Comentário - suspensão
Dt_Pendencia-null
Obs_Pendencia - null

Tabela Produto
------------------------
Pk_codigo - 100
Pk_tipo - B
Nome - banana
Dt_Adt - null
Comentário - null
Dt_Pendencia-05/08/2020
Obs_Pendencia - atualização

O campo Dt_Pendencia e
Obs_Pendencia somente é preenchido quando tipo e ''B''.

Hoje eu tenho uma select principal que traz os campos quando Pk_tipo=''A''. Eu preciso incluir nesta mesma select principal os campos Dt_Pendencia e
Obs_Pendencia quando o campo Pk_tipo=''B''.

Hoje minha select é algo assim:


SELECT Pk_codigo,Nome,Dt_Adt,Comentário
FROM tabelas
Where Pk_tipo=''A''

Precisaria incluir os campos do tipo B, mas sem duplicar o registro, que traga um registro só, ficando desta forma.

Pk_codigo - 100
Nome - banana
Dt_Adt - 02/02/2020
Comentário - suspensão
Dt_Pendencia-05/08/2020
Obs_Pendencia - atualização

Alguém tem alguma idéia de como fazer isso?

Obrigada pela ajuda.
Clau

Clau

Responder

Post mais votado

28/09/2020

tente assim:
select
	a.pk_codigo, a.nome, a.dt_adt, a.comentário,
	b.dt_pendencia, b.obs_pendencia
from
	produto a
left join
	produto b on b.pk_codigo = a.pk_codigo and b.pk_tipo = 'B'
where 
	a.pk_tipo = 'A'

Emerson Nascimento

Emerson Nascimento
Responder

Mais Posts

30/09/2020

Clau

tente assim:
select
	a.pk_codigo, a.nome, a.dt_adt, a.comentário,
	b.dt_pendencia, b.obs_pendencia
from
	produto a
left join
	produto b on b.pk_codigo = a.pk_codigo and b.pk_tipo = 'B'
where 
	a.pk_tipo = 'A'


Emerson, muito obrigada por sua ajuda.
Com esta sua dica eu consegui obter os resultados necessários.

Vlw
Cláudia
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar