Ajuda Select no Oracle
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.
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
Curtidas 0
Melhor post
Emerson Nascimento
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'
GOSTEI 1
Mais Respostas
Clau
27/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, muito obrigada por sua ajuda.
Com esta sua dica eu consegui obter os resultados necessários.
Vlw
Cláudia
GOSTEI 0