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 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?
    • Por VLADIMIREMI
      Estou querendo fazer um sistema de gerenciamento de campeonato. Aqui na minha cidade, todas as comunidades tem um mine campeonato, e esse sistema visa atender essa demanda. Já estou finalizando em VBA no Excel, mas eu gostaria de fazer algo parecido em uma linguagem de programação, incluindo banco de dados, interface gráfica, menu de cadastro... entre outras opções. Só que não sei por onde começar, e nem qual a linguagem seria melhor indicada, até mesmo pra uma futura expansão de plataforma. O que vocês me recomendam?
    • Por degloriocg
      Bom dia, estou há duas semanas tentando fazer com que o gráfico chart.js pegue os dados do banco de dados e exiba em tempo real.
      Segue meu banco de dados.
      CREATE TABLE `tab_clientes` ( `id` int(11) NOT NULL, `data_nascimento` date DEFAULT NULL, `line` varchar(220) NOT NULL, `model` varchar(220) NOT NULL, `wo` varchar(220) NOT NULL, `tool` varchar(220) NOT NULL, `detection_point` varchar(220) NOT NULL, `defect_content` varchar(220) NOT NULL, `causes` varchar(220) NOT NULL, `owner` varchar(220) NOT NULL, `qty` varchar(220) NOT NULL, `ppm` varchar(220) NOT NULL, `action` varchar(220) NOT NULL, `symptom` varchar(220) NOT NULL, `status` varchar(10) DEFAULT NULL, `foto` varchar(200) DEFAULT NULL, `data_cadastro` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `data_alteracao` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ) ENGINE=InnoDB DEFAULT CHARSET=latin1; A coluna Symptom ele da resposta Leakage ou Function, gostaria de contabilizar cada um e dar o resultado por semana( Por exemplo, da primeira semana de dezembro, teve 5 resultados Leakage, na segunda, 3 e assim por diante, dentro de cada mes.
      tentei assim... porém não consigo dividir os dias da semana em relação a data selecionada.
       
      <?php // Consultar dados $dados = array(); $sql = "SELECT symptom, COUNT(*) as data_nascimento FROM tab_clientes WHERE data_nascimento BETWEEN '2018-11-28' AND '2018-11-29' GROUP BY symptom"; $pdo = new PDO('mysql:host=localhost;dbname=db_blog', 'root', ''); $stmt = $pdo->query($sql); while ($obj = $stmt->fetchObject()) { switch ($obj->symptom) { case 'Leakage': $dados['Leakage'] = $obj->data_nascimento; break; case 'Function': $dados['Function'] = $obj->data_nascimento; break; } }?> <script> var ctx = document.getElementById("myChart"); var myChart = new Chart(ctx, { type: 'line', data: { labels: ["Semana1", "Semana2", "Semana3", "Semana4", "Semana5"], <!--//Visto que o mes tem 5 semanas. --> datasets: [{ label: "Leakeage", data: [<?php echo $dados['Leakage']?>, <?php echo $dados['Leakage']?>, <?php echo $dados['Leakage']?>, <?php echo $dados['Leakage']?>, <?php echo $dados['Leakage']?>, <?php echo $dados['Leakage']?>, <?php echo $dados['Leakage']?>], lineTension: 0, backgroundColor: 'transparent', borderColor: '#007bff', borderWidth: 4, pointBackgroundColor: '#007bff' },{ label: "Function", data: [<?php echo $dados['Function']?>, <?php echo $dados['Function']?>, <?php echo $dados['Function']?>, <?php echo $dados['Function']?>, <?php echo $dados['Function']?>], lineTension: 0, backgroundColor: 'transparent', borderColor: '#7bff00', borderWidth: 4, pointBackgroundColor: '#7bff00' }] }, options: { scales: { yAxes: [{ ticks: { beginAtZero: false } }] }, legend: { display: false, } } }); </script> Se alguém puder me ajudar. Agradeço muito!!!
    • Por Skalke
      Boa noite,
       
      estou fazendo uma listagem de objetos do banco de dados em uma tabela com o PHP, e com cada registro, por meio de um WHILE, eu coloco um botão de excluir referente ao ID do respectivo item que será deletado. Enviando via ajax e deletando. Porém, ele só deixa deletar o primeiro registro da tabela, o que está em primeiro, os demais ele não deixa. Imagem do código ajax e da tabela anexadas. Agradeço desde ja pela ajuda


×

Informação importante

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