Pular para o conteúdo
  • Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 1 ano, 11 meses atrás por Avatar de José Laurindo ChiappaJosé Laurindo Chiappa.
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #155127
    Avatar de Vando RochaVando Rocha
    Participante

      Olá pessoal! Sou novo no grupo. E também sou novo no SQL e estou aprendendo em produção literalmente. To com uma duvida aqui no trabalho. Se puderem me ajudar! É o seguinte. Tenho uma tabela que contem as colunas conta, mes, ano, debito e credito. Sendo que os meses vai de 0 a 12 porque o mes zero é considerado um valor inicial.

      Preciso criar uma nova coluna chamado SALDO onde, para o mês zero o valor será o calculo (DEBITO -CREDITO).

      E para os outros meses o calculo será o SALDO + (DEBITO -CREDITO) onde esse saldo usado no calculo é o saldo do mês anterior.

      Como seria o codigo da consulta? Já tentei varias vezes. Por pl/sql da pra fazer mais ainda não aprendi nada d pl/sql.

      #155130
      Avatar de José Laurindo ChiappaJosé Laurindo Chiappa
      Moderador

        Tudo jóia ? Espero que sim…. Então, o mecanismo Básico para vc fazer análises de dados (tipo, pegar valor anterior, próximo valor, somar ou contar linhas que contém um dado valor-chave SEM perder as linhas de detalhe, etc, etc) SÃO as Funções Analíticas : elas são funções que Complementam e Extendem a linguagem SQL básica, que realmente Não Previa esse tipo de funcionalidade – e dado a Extrema Utilidade dessas funções extras, hoje praticamente TODOS os SGBDs relacionais de porte (Oracle SQL SERVER, PostgreSQL, db2) já as trazem prontas pra uso….
        No seu caso, provavelmente vc usaria a função LAG (vide https://www.oracletutorial.com/oracle-analytic-functions/oracle-lag/ ) ou a cláusula de RANGE no OVER PARTITION, tipo https://asktom.oracle.com/pls/apex/asktom.search?tag=running-total mostra – estude esses Exemplos e mais os exemplos em https://oracle-base.com/articles/misc/analytic-functions (além da documentação Oracle, óbvio) que vc rapidamente consegue o que vc quer em SQL “puro”, sem recorrer à programação PL/SQL , como é seu desejo….

        Abraços,

        José Laurindo Chiappa

      Visualizando 2 posts - 1 até 2 (de 2 do total)
      • Você deve fazer login para responder a este tópico.
      plugins premium WordPress