Ir para conteúdo
toshiye

Calcular campos PostgreSQL

Recommended Posts

Bom dia a todos, sou novo no fórum e nove em programação.

 

Estou desenvolvendo uma aplicação simples de controle de impressoras, travei em uma parte onde eu devo selecionar os registros de troca de toner e calcular o número de páginas impressas a cada troca.

Procurei em muitos lugares e ainda não descobri como fazer exatamente.

Em suma, o que tenho de fazer é selecionar os registros e calcular com base em "troca atual - última troca" para ter o número de folhas que o toner imprimiu.

Minha tabelas está assim:

 

create table transicao(
    idtransicao serial primary key,
    data date,
    setor varchar(40),
    marca varchar(40),
    modelo varchar(40),
    toner varchar(40),
    marca_toner varchar(40),
    folhas int,
    folhasnew int,
    id_troca int,
    id_impressora_toner int, //esse será meu quesito para fazer um "order by" na tabela
    foreign key(id_troca) references troca(idtroca),
    foreign key(id_impressora_toner) references Impressora_toner(idimpressora_toner)
)

;

 

A aplicação será em delphi:

 

procedure TfrmMain.sbtnPrintReportGridClick(Sender: TObject);
var
  sqlqTransicao: TSQLQuery;
begin
   begin
     dmPrint.cdsTonerAqui.Open;
     dmPrint.cdsTonerAqui.Insert;
      sqlqTransicao := TSQLQuery.Create(nil);
      try
          sqlqTransicao.SQLConnection:= dmPrint.scPrintControl;
          sqlqTransicao.Close;
          sqlqTransicao.SQL.Clear;
          sqlqTransicao.SQL.Add('SELECT *');
          sqlqTransicao.SQL.Add('FROM');
          sqlqTransicao.SQL.Add('TRANSICAO');
          sqlqTransicao.SQL.Add('ORDER BY');
          sqlqTransicao.SQL.Add('ID_IMPRESSORA_TONER');
          sqlqTransicao.ExecSQL;
      finally
        sqlqTransicao.Close;
        sqlqTransicao.Free;
      end;
   end;
end;

 

O problema é como fazer esse calculo e torná-lo automático.

 

Se alguém puder me ajudar eu fico muito grato, se eu fui confuso me avisem que faço o melhor para explicar.

 

Desde já agradeço imenso.

 

Cordialmente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por luisfeliperm2
      Quero selecionar 10 noticias do banco de dados, irei utilizar paginação, então na próxima pagina será selecionada da 11-20, 21-30. Só que em todos esses select eu quero que venha a noticia principal que é definida pela coluna "destaque".  O motivo é que eu não quero usar 2 select pra buscar noticias.
      Pra ser bem resumido, eu quero selecionar a noticia principal e depois selecionar mais 10 que podem ser qualquer uma
       
      Tentei da seguinte forma:
      select * from news where destaque = true UNION select * from news ORDER BY id DESC LIMIT 10 OFFSET 1;
    • Por luisfeliperm2
      Como posso estar recebendo backups todos os dias do banco de dados postgresql através do meu email ? Preciso fazer isso no Windows 2012
    • Por PlatBubbles
      Ola, estou tendo dificuldade para fazer uma consulta seletiva usando duas tabelas, provavelmente estou errando a sintaxe da busca, agradeço caso alguem possa me passar a forma correta de fazer a busca.
       
      $sqluser = "SELECT aquestion_id, user_id FROM respostas WHERE user_id like '$logado' UNION SELECT * pergunta, question_id FROM questions WHERE question_id!=aquestion_id ORDER BY RAND() LIMIT 1"; Explicando
      Na tabela respostas preciso dos dados aquestion_id e user_id apenas do usuário Logado.
      Da tabela questions preciso da pergunta e da question_id que deve ser gerada de forma aleatória mas apenas com os Ids que não estejam  listados em aquestion_id.
      Na verdade as duas tabelas tinham o campo question_id porem estava confuso e por isso mudei o campo da primeira tabela para aquestion_id.
       
      Agradeço qualquer ajuda, e também pelo tempo dos que leram mesmo se não puderam ajudar.
      PlatBubbles
    • Por edbarbosa
      Ola a todos,
      sou iniciante ainda em curso e estou com um problema que não acho ajuda em lugar algum.
      adquiri uma tabela e inseri conteúdos manuais para consulta futuras, mas preciso adicionar um botão
      que insere uma linha com os 9 conteúdos na tabela do meu arquivo e grave no mesmo para consultas futuras.
      e que os botoes de deletar e editar já existentes façam suas funções.
      segue:
      <!doctype html> <html> <head> <title>tabela</title> <meta charset="utf-8" /> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script> <script src="jquery.tablesorter.min.js"></script> <script src="jquery.tablesorter.pager.js"></script> <link rel="stylesheet" href="custom.css" media="screen" /> </head> <body> <h1>tabela</h1> <form method="post" action="exemplo.html" id="frm-filtro"> <p> <label for="pesquisar">Pesquisar</label> <input type="text" id="pesquisar" name="pesquisar" size="900" /> </p> </form> <table cellspacing="0" summary="Tabela de dados fictícios"> <thead> <tr> <th><input type="checkbox" value="1" id="marcar-todos" name="marcar-todos" /></th> <td>nome1</td> <td>nome2</td> <td>nome3</td> <td>nome4</td> <td>nome5</td> <td>nome6</td> <td>nome7</td> <td>nome8</td> <td>nome9</td> </tr> </thead> <tbody> <tr> <td><input type="checkbox" value="1" name="marcar[]" /></td> <td>texto1</td> <td>texto2</td> <td>texto</td> <td>texto3</td> <td>texto4</td> <td>texto5</td> <td>texto6</td> <td>texto7</td> <td>texto8</td> <td> <a href="#"><img src="edit.png" width="16" height="16" /></a> <a href="#"><img src="delete.png" width="16" height="16" /></a> </td> </tr> <tr> <td><input type="checkbox" value="2" name="marcar[]" /></td> <td>texto1</td> <td>texto2</td> <td>texto</td> <td>texto3</td> <td>texto4</td> <td>texto5</td> <td>texto6</td> <td>texto7</td> <td>texto8</td> <td> <a href="#"><img src="edit.png" width="16" height="16" /></a> <a href="#"><img src="delete.png" width="16" height="16" <!-- FINAL --> </tbody> </table> <div id="pager" class="pager"> <form> <span> Exibir <select class="pagesize"> <option selected="selected" value="900">900</option> <option value="50">50</option> <option value="30">30</option> <option value="10">10</option> </select> registros </span> <img src="first.png" class="first"/> <img src="prev.png" class="prev"/> <input type="text" class="pagedisplay"/> <img src="next.png" class="next"/> <img src="last.png" class="last"/> </form> </div> <script> $(function(){ $('table > tbody > tr:odd').addClass('odd'); $('table > tbody > tr').hover(function(){ $(this).toggleClass('hover'); }); $('#marcar-todos').click(function(){ $('table > tbody > tr > td > :checkbox') .attr('checked', $(this).is(':checked')) .trigger('change'); }); $('table > tbody > tr > td > :checkbox').bind('click change', function(){ var tr = $(this).parent().parent(); if($(this).is(':checked')) $(tr).addClass('selected'); else $(tr).removeClass('selected'); }); $('form').submit(function(e){ e.preventDefault(); }); $('#pesquisar').keydown(function(){ var encontrou = false; var termo = $(this).val().toLowerCase(); $('table > tbody > tr').each(function(){ $(this).find('td').each(function(){ if($(this).text().toLowerCase().indexOf(termo) > -1) encontrou = true; }); if(!encontrou) $(this).hide(); else $(this).show(); encontrou = false; }); }); $("table") .tablesorter({ dateFormat: 'uk', headers: { 0: { sorter: false }, 5: { sorter: false } } }) .tablesorterPager({container: $("#pager")}) .bind('sortEnd', function(){ $('table > tbody > tr').removeClass('odd'); $('table > tbody > tr:odd').addClass('odd'); }); }); </script> </body> </html> lembrando que peguei esse script do GitHub:  https://github.com/tableless/exemplos/tree/gh-pages/melhorando-exibicao-tabelas-jquery
      todos os arquivos estão disponíveis neste link
      obrigado!
    • Por luizfabianochaves
      bom dia..
       
      preciso fazer o calculo do prazo medio de recebimento da minha empresa, em relação ao periodo do ano passado.
      já tenho a soma de tudo o que recebi com 30, 60, 90, 120 e mais de 120 dias.. como calcular o prazo medio do pl sql com essas informações?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.