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.
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
Curtir tópico
+ 0
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
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
Clique aqui para fazer login e interagir na Comunidade :)