3 Replies Latest reply: Nov 4, 2015 1:19 PM by Clever Anjos RSS

    Contador - Sequência

    Jean Felipe jeanlipes

      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?

        • Re: Contador - Sequência
          Yuri Nicolett

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

          • Re: Contador - Sequência

            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!

            • Re: Contador - Sequência
              Clever Anjos

              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