Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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...
Cliente | Contador |
---|---|
A | 1 |
B | 1 |
A | 2 |
A | 3 |
C | 1 |
B | 2 |
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?
Você pode criar essa regra no script com a função peek(), veja o exemplo em anexo
Você pode criar essa regra no script com a função peek(), veja o exemplo em anexo
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!
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