Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Select 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.

2 respostas
solução!

Olá Cláudia, bom dia.

Não entendi o sentido de fazer uma consulta desse tipo.

Você tem uma tabela com mais de um registro por tipo. E agora quer mostrar apenas um independente do tipo? Se for isso vc tem um problema ou na sua modelagem ou no seu negócio.

Se é possível fazer, sim é possível, mas vc está matando informação se fizer isso.

Você pode considerar uma coluna de ordenação ou nulidade e mostrar a 1ª ocorrência com um where rownum = 1

Se eu consegui te ajudar, marque a resposta como solucionada, por favor! Abs.

Olá Murilo,

Muito obrigada pela sua resposta.

Talvez eu não soube me explicar direito, por não ter experiência com Banco de Dados. Por fim, um left join resolveu o meu problema.

Agradeço sua atenção. Cláudia