Clientes

Rotina para atualização da data e valor da última compra do cliente

CLIENT.CLIENTES.FAQ-89740
Comando para atualização da data e valor da última compra dos clientes:
upd clientes 
set id = c.id
, data_ultima_compra = q.data_conclusao
, valor_ultima_compra = (select p.valor_total 
from pedidos p
   join tipos_pedidos tp on tp.id = p.tipo_pedido_id
   where tp.categoria in ('V', 'S', 'R')
   and p.situacao in ('P', 'I', 'A', 'E', 'P', 'Q', 'T', 'X')
   and p.data_conclusao = q.data_conclusao
   and p.cliente_id = c.id
   limit 1)
from (
   select p.cliente_id,
   max(p.data_conclusao) as data_conclusao
   from pedidos p
   join tipos_pedidos tp on tp.id = p.tipo_pedido_id
   where tp.categoria in ('V', 'S', 'R')
   and p.situacao in ('P', 'I', 'A', 'E', 'P', 'Q', 'T', 'X')
   group by p.cliente_id
) q
join clientes c on c.id = q.cliente_id
where c.data_ultima_compra is null