Página 1 de 1

Clientes Inédito/Reativados

Enviado: Seg, 07 Ago 2017 3:09 pm
por jerry-sc
Pessoal,

Alguém já fez alguma análise, com uma estrutura básica de pedido (onde possui o código de cliente, data de emissão e status do pedido), onde mostra se o cliente foi "recuperado" (estava a mais de 180 dias sem comprar) ou se ele é um cliente inédito?

Estou com uma dificuldade enorme em fazer isso, e se alguém já fez algo neste sentido e puder me ajudar, agradeço.

Re: Clientes Inédito/Reativados

Enviado: Ter, 08 Ago 2017 7:35 am
por spernega
Bom dia jerry-sc,

Você pode criar uma função para identificar a última compra do cliente antes do pedido

Selecionar tudo

Function fn_ultima_compra (p_cd_cliente in number, p_dt_compra_atual in date) return varchar2
Um select mais ou menos assim:

Selecionar tudo

Select max(dt_compra) dt_compra
from   pedido ou notas
where  dt_compra < p_dt_compra_atual
and   cd_Cliente = p_cd_Cliente

Selecionar tudo

if dt_compra is compra is null then
  retorna recuperado
elsif (p_dt_compra_atual - dt_compra) > 180 then
  retorna inedito
else
  retorna regular
end if;

Re: Clientes Inédito/Reativados

Enviado: Ter, 08 Ago 2017 7:36 am
por spernega
alias

Selecionar tudo

if (p_dt_compra_atual - dt_compra) > 180 then
  retorna inedito
elsif dt_compra is compra is null then
  retorna recuperado
else
  retorna regular
end if;