Bom dia pessoal!
Estou iniciando no PL/SQL e estou com uma dúvida na lógica para montar minha consulta.
Segue o exemplo de uma tabela que tenho:
Preciso fazer o seguinte:
criar uma nova tabela com um novo campo que mostre tudo que é “novo” e “portabilidade novo” do mês de Outubro como “novo” e verificar se “portabilidade incremento” e “incremento” do mês de outubro se tiver em algum mês(agosto, setembro ou outubro) como “Novo” ou “Portabilidade novo” também me apareça na nova tabela como “novo”.
E os demais do mês de outubro(sem duplicidade com os que ja identificou como sendo novo) aparecer como está mesmo.
Tudo o que fiz até o momento:
----------- -------identifica novos-------------------------------------
create table hit_tipopedidopj_novos parallel 7 as
select *
from hit_tipopedidopj_base
where IN_TIPO_PEDIDO in ('Novo','Portabilidade novo')
;
----------- identifica incrementos novos-------------------------
create table hit_tipopedidopj_inc_novos parallel 7 as
select nu_cpf_cnpj, 'Novo' as pagar_como
from hit_tipopedidopj_base a
where IN_TIPO_PEDIDO in ('Incremento','Portabilidade Incremento')
and to_date(dt_transacao,'DD/MM/YYYY') >= TO_DATE('&2','YYYYMMDD')
AND EXISTS ( select 1
from hit_tipopedidopj_novos b
where b.nu_cpf_cnpj = a.nu_cpf_cnpj )
group by nu_cpf_cnpj, 'Novo'
;