Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Contador - Sequência

Boa tarde grupo,

Tenho que fazer um contador apartir de uma informação do banco de dados...

Tenho a tabela de pedidos com o cliente, valor, data, etc... e gostaria de fazer um contador por cliente.

Exemplo:

LOAD COD_EMPRESA         AS PED_COD_EMPRESA,
     NUM_PEDIDO          AS PED_NUM_PEDIDO,
     COD_CNPJ_CLIENTE   AS PED_COD_CNPJ_CLIENTE,

   

ter uma nova linha PED_CONT_CLIENTE onde ele inicia com 1 no cliente e sempre que o cliente aparecer ele recebe a sequencia do valor...

ClienteContador
A1
B1
A2
A3
C1
B2

A ordenação seria a data, sempre vou começar da menor data para a maior.

Alguém sabe como posso fazer esse auto increment?

1 Solution

Accepted Solutions
nicolett_yuri

Você pode criar essa regra no script com a função peek(), veja o exemplo em anexo

View solution in original post

3 Replies
nicolett_yuri

Você pode criar essa regra no script com a função peek(), veja o exemplo em anexo

Not applicable
Author

Boa tarde Jean,

Para este caso utilize o peek, lembre-se que para utilizar essa função corretamente é necessário ordenar, neste caso você precisa ordenar por "PED_COD_CNPJ_CLIENTE", lembre-se também que o order by só funciona em uma resident, portanto é necessário criar um resident desta tabela para fazer a contagem.

Script:

tabela_temp:

LOAD COD_EMPRESA         AS PED_COD_EMPRESA,

     NUM_PEDIDO         AS PED_NUM_PEDIDO,

     COD_CNPJ_CLIENTE   AS PED_COD_CNPJ_CLIENTE

from base.qvd(qvd);

tabela:

LOAD PED_COD_EMPRESA,

     PED_NUM_PEDIDO,

  PED_COD_CNPJ_CLIENTE,

     if(peek('PED_COD_CNPJ_CLIENTE') <> PED_COD_CNPJ_CLIENTE,1,peek('Contador')+1)  as  Contador

resident tabela_temp

order by PED_COD_CNPJ_CLIENTE;

drop table tabela_temp; 

Abraços!

Clever_Anjos
Employee
Employee

Tente

LOAD

     COD_EMPRESA        AS PED_COD_EMPRESA,  

     NUM_PEDIDO         AS PED_NUM_PEDIDO,  

     COD_CNPJ_CLIENTE  AS PED_COD_CNPJ_CLIENTE,

    AutoNumber( NUM_PEDIDO,COD_CNPJ_CLIENTE) as Contador