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

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

Aceitar