Jump to content
opl12

Coluna Calculada Condicional

Recommended Posts

Olá mestres!

Por favor, podem ajudar?

 

Tenho as colunas "Valor Realizado", "Meta" e "data"

 

Preciso calcular o atingimento da Meta... O valor realizado dividido pela meta... até aí ok.

 

..porém tem linhas que não há meta... 

 

*tem como calcular o % de atingimento por data? Visto que tem linhas com valor de meta em branco...

 

Tipo um SELECT que traga todos os dias do mês(que tem na tabela)....+ a coluna calculada com o atingimento da Meta?

Ou seja, somando todo o valor da coluna Meta e todo o valor da coluna Valor Realizado, por data? E então com a coluna calculada sendo o Realizado/Meta ??

 

 

Se puderem dar uma direção agradeço 

 

Vlew

 

Share this post


Link to post
Share on other sites

A coluna virtual seria calculda por outras colunas da linha da tabela.

 

Não entendi bem este calculo da Meta mas creio que ela poderia ser feito por trigger.

 

Meta não deveria ser "not null" então no caso ?

 

 

PS me lembrei de uma ex-presidente não sei porque :)

Share this post


Link to post
Share on other sites
Em 17/09/2019 at 19:52, Motta disse:

Publique a solução , pode ajudar outrem.

Olá, desculpe a demora, estava fora...

 

 

segue como ficou meu código:

 

 

SELECT
	 "CICLO",
	 "DATA",
	 TRIM (leading '' FROM "AREA") AS "AREA",
	 TRIM (leading '' FROM "NOME_COORDENACAO") AS "NOME_COORDENACAO",
	 TRIM (leading '' FROM "NOME_SETOR") AS "NOME_SETOR",
	 TRIM (leading '' FROM "NOME_SUB_SETOR") AS "NOME_SUB_SETOR",
	 TRIM (leading '' FROM "UF") AS "UF",
	 
LEFT(UF,
	2) AS UF_CORRIG,
	 sum("META") AS "META",
	 sum("REAL") AS "REAL",
	 sum("TENDENCIA") AS "TENDENCIA",
	 SUM(REAL)/(CASE WHEN SUM(META) =0 THEN SUM(REAL) ELSE SUM(META) END) AS PERC_ATING,
	 ABS(sum("GAP_DISTR")) AS "GAP_DISTR" 
FROM "TABELA_METAS"  
GROUP BY "CICLO",
	 "DATA",
	 "AREA",
	 "NOME_COORDENACAO",
	 "NOME_SETOR",
	 "NOME_SUB_SETOR",
	 "UF"

 

Espero ajudar,

vlw

 

 

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By mateusmarcucci
      Pessoal, meu primeiro tópico, então desculpa qualquer coisa...
       
      É o seguinte, pra treinar to criando um sisteminha de aposta.
       
      Consiste em 2 campos, Valor apostado e ODD (odd é o quanto vai multiplicar a aposta caso ganhe). Porém quero colocar uma telinha aonde ele vai somar todos os ganhos e perdas do dia.
       
      Estou fazendo a soma direto no php, porém gostaria de passar o resultado dessa soma no banco de dados para assim ser possível somar as colunas.
       
      Eu tenho o metodo de escolha que é Ganhou ou Perdeu.
       
      Exemplo:   Valor apostado: R$5,00 | ODD 2.0 = R$10,00     Porém o lucro é apenas R$5,00. Tendo em vista que o lucro é subtraído do valor total - valor apostado. Caso perca, o valor apostado apenas passa a ser negativo
       
      Vou deixar o código que estou utilizando:
       
       
       
      <?php
          session_start();
          include_once("servidor.php");

          if (!empty($_SESSION['usuario']) and !empty($_SESSION['id'])) {
              $id = $_SESSION['id'];
              $nome = $_SESSION['nome'];
              $usuario = $_SESSION['usuario'];
          }else{
              $_SESSION['mensagem']="Você não está logado";
              header("Location: index.php");
              exit;
          }
          $id = $_SESSION['id'];        
          $consulta = "SELECT * FROM Resultados WHERE id = '$id' ORDER BY resultado ASC";
          $con = mysqli_query($conexao, $consulta);
          $banca = "SELECT * FROM Usuarios";
          $conBanca = mysqli_query($conexao, $banca);
          
      ?>

      <!DOCTYPE html>
      <html>
      <head>
          <title>Anote sua Aposta - Painel</title>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1">
          <link rel="stylesheet" type="text/css" href="css/cssEstilo.css">

          <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
          <!-- Font Awesome -->
          <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
          <script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
          <script type="text/javascript" src="js/bootstrap.min.js"></script>
          <script type="text/javascript" src="js/jquery.mask.min.js"></script>
          <script type="text/javascript">
                  $(document).ready(function(){
                      $("#valor").mask("99990.00", {reverse: true})    
                      $("#odd").mask("999.999.990.00", {reverse: true})
                      
                  })        
                      
          </script>
      </head>

      <body class="fundoBodyPainel">
          <!-- topo -->
          <?php include('topo.php'); ?>
          <!-- fim topo -->
          <section>                        
                  <nav>
                      <p class="topoPainel"><strong>Bem vindo(a),</strong> <?php echo $_SESSION['nome'];?></p>
                  </nav>
          </section>
          <!-- Botão para acionar modal -->
          <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#modalExemplo">
                Adicionar uma nova aposta
          </button>
          <!-- Modal -->
          <div class="modal fade" id="modalExemplo" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
            <div class="modal-dialog" role="document">
              <div class="modal-content">
                <div class="modal-header">
                  <h5 class="modal-title" id="exampleModalLabel">Adicionar uma nova aposta</h5>
                  <button type="button" class="close" data-dismiss="modal" aria-label="Fechar">
                    <span aria-hidden="true">&times;</span>
                  </button>
                </div>
                <div class="modal-body">
                  <section>
                      <div>
                          <form action="validarResultado.php" method="get" accept-charset="utf-8">
       
                                    <div class="form-group">
                                      <label>Valor Apostado:</label>
                                      <input type="text" class="form-control" id="valor" placeholder="Valor Apostado"
                                          name="valor">        
                                    </div>

                                    <div class="form-group">
                                      <label>ODD:</label>
                                      <input type="text" class="form-control" id="odd" placeholder="ODD" name="odd">                
                                   </div>
                                    <div class="form-group">
                                        <label for="Resultado">Resultado</label>
                                        <select id="inputEstado" class="form-control" name="resultado">
                                          <option selected>Escolher...</option>
                                          <option>Ganhou</option>
                                          <option>Perdeu</option>
                                        </select>
                                  </div>
                                </div>
                                    <button id="botaoCadastro" type="submit" name="enviar" class="btn btn-danger">Cadastrar</button>
                              </form>
                      </div>
                  </section>
                </div>
              </div>
            </div>
          </div>

          <section class="containerContatos">
              <div class="container">
                  <div class="row">
                      <div class="col-md-12">
                          <div class="d-flex justify-content-center table-responsive">
                              <table class="table table-striped" style="background: white;">
                                <thead class="thead-dark">
                                  <tr>
                                    <th scope="col">Valor</th>
                                    <th scope="col">ODD</th>
                                    <th scope="col">Resultado</th>
                                    <th scope="col">ID Aposta</th>
                                    <th scope="col">Retorno</th>
                                  </tr>
                                </thead>
                                <tbody>
                                    <?php
                                      while($dado = mysqli_fetch_assoc($con)) {
                                  ?>
                                  <tr>
                                    <td><?php echo $dado["valor"]; ?></td>
                                    <td><?php echo $dado["odd"]; ?></td>
                                    <td><?php echo $dado["resultado"]; ?></td>
                                    <td><?php echo $dado["idAposta"]; ?></td>
                                    <td><?php    
       
                                                $opcao1 = $dado["resultado"];                                                                                
                                                if ("$opcao1" == 'Ganhou') {
                                                    $retorno = ($dado["valor"] * $dado["odd"]) - $dado["valor"];
                                                    $retorno1 = $retorno;
                                                  $retorno1 = number_format($retorno1, 2, '.', '');
                                                  $retorno4 = $retorno;
                                                    echo "$retorno1";
                                                }
                                                if ("$opcao1" == 'Perdeu') {
                                                    $retorno = ($dado["valor"] - $dado["valor"]) - $dado["valor"];
                                                    $retorno1 = $retorno;
                                                  $retorno1 = number_format($retorno1, 2, '.', '');
                                                  $retorno4 = $retorno;
                                                    echo "$retorno1";
                                                }
                                                
                                            ?>                                          
                                    </td>                          
                                    </td>
                                  </tr>                            
                                  <?php } ?>
                                </tbody>
                              </table>
                          </div>
                      </div>
                  </div>
              </div>
          </section>    

          <?php  ?>
          

          
          <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
          <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
      </body>

      </html>
    • By MasterX2020
      Olá a todos,
       
      Como falei anteriormente estou construindo um site para uma aula e agora surgiu mais um desafio: fazer uma pesquisa em PHP que apresente resultados que podem ser obtidos de uma base de dados em SQL.
       
      Já tenho a barra de pesquisa colocada no site, a base de dados construída e a página onde os resultados devem surgir. Gostava de saber se alguém me poderia ajudar com o código PHP para que os resultados da pesquisa surgem. É uma pesquisa simples. O utilizador, por exemplo, insere na barra de pesquisa Maçã e, com isso, é levado para a pagina "pesquisa.php" onde devem surgir os dados que na base de dados estão relacionados com o termo pesquisado.
       
      O que se encontra na base de dados são coisas simples. Apenas pequenos títulos, relacionados com um pequeno parágrafo e uma categoria. Exemplo:
      - titulo: Maçã
      - parágrafo: Uma Maçã é um fruto.
      - categoria: Fruta.
       
      Se alguém poder ajudar desde já agradeço, espero ter explicado bem a minha dúvida.
    • By alecram28
      Boa noite. Preciso fazer um select que me retorne os dados desse select:
      hjgnvbcbn
    • By MasterX2020
      Olá a todos,
       
      Para uma aula foi me pedido a construção de um pequeno site. Preciso de ter uma barra lateral onde estão 3 categorias: Frutas, Legumes e Verduras.
       
      A barra lateral está construída e a pagina que abre ao clicar numa das categorias também. Agora precisava do código com os elementos PHP e SQL que permita que ao clicar numa das categorias os elementos apresentados nessa mesma página sejam os que estão relacionados à categoria clicada e que se encontra numa base de dados que também já construí. Ou seja, a página tem que ser sempre a mesma, mas os resultados que esta apresenta têm que depender se foi clicado Frutas, Legumes ou Verduras.
       
      Espero ter explicado bem o meu problema e que alguém me possa ajudar. Como já devem perceber são um leigo na matéria e ainda estou a aprender, por isso, desde já agradeço muito toda a ajuda que me possam dar.
    • By miniaccio
      CREATE TABLE mensagem (
          codmensagem INTEGER PRIMARY KEY,
          conteudo VARCHAR,
          codusuorigem INTEGER,
          codusudestino INTEGER,
          status INTEGER,
          CONSTRAINT codusuorigem_fk FOREIGN KEY(codusuorigem) REFERENCES amigos(codusua),
          CONSTRAINT codusudestino_fk FOREIGN KEY(codusudestino) REFERENCES amigos(codusub)
          );
       
      Relatório de erros -
      ORA-00906: parêntese esquerdo não encontrado
      00906. 00000 -  "missing left parenthesis"
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.