Ir para conteúdo
Entre para seguir isso  
josePeixoto

Otimização de Consulta

Recommended Posts

Olá, gostaria de saber como eu poderia otimizar a consulta para o cálculo de porcentagem abaixo:

((select count(a.cd_senha_gerada) contador 
  from paciente_senha_fila a 
  where obter_min_entre_datas(a.dt_geracao_senha, 
                              a.dt_primeira_chamada,1) > 15
  and a.dt_geracao_senha between :dt_inicial and fim_dia(:dt_final)
  and a.dt_vinculacao_senha is not null 
  and a.dt_inicio_atendimento is not null )
/
(select count (a.cd_senha_gerada) contador 
 from paciente_senha_fila a 
 where obter_min_entre_datas(a.dt_geracao_senha, 
                             a.dt_primeira_chamada,1) > 0
 and a.drt_geracao_senha between :dt_inicial and fim_dia(:dt_final)
 and a.dt_vinculacao_senha is not null 
 and a.dt_inicio_atendimento is not null)) porcentagem

Obrigado desde já!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente

select ((case when obter_min_entre_datas(a.dt_geracao_senha,
                                         a.dt_primeira_chamada,1) > 15
               then a.cd_senha_gerada else null end) /
         count(a.cd_senha_gerada)) porcentagem      
  from paciente_senha_fila a
  where obter_min_entre_datas(a.dt_geracao_senha,
                              a.dt_primeira_chamada,1) > 0
  and a.dt_geracao_senha between :dt_inicial and fim_dia(:dt_final)
  and a.dt_vinculacao_senha is not null
  and a.dt_inicio_atendimento is not null

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

Entre para seguir isso  

  • Próximos Eventos

  • Conteúdo Similar

    • Por Artur Mendonça
      Olá amigos,
      criei uma página para fazer a inscrição de "atletas" (leia-se crianças) em provas desportivas.
      A página criada é a que está em anexo.
       
      Queria que ao abrir a página a listagem com o nome dos atletas ficasse em branco e só aparecesse os nomes depois de selecionar a prova em que se inscrevem.
       
      Na coluna "inscrito" queria que aparecesse "Sim" ou "Não" no caso do atleta já estar inscrito ou não.
      Depois, ao clicar no botão "inscrever" a coluna "inscrito" seria atualizada para "Sim" e ao clicar em "Anular" seria atualizado para "Não".
       
      Tenho as tabelas "tblatletas2" (com o nome de todos os atletas do grupo), "tblprova" (com todas as provas existentes) e "tblinscprova" (que será preenchida com os dados dos atletas inscritos; nesta tabela tem os campos "Prova" e "Atleta").
       
      Neste momento tenho o seguinte código, mas que não funciona como pretendo.
      <?php include_once("administrativo.php"); $resulta = mysqli_query($conectar,"SELECT * FROM tblatleta2 ORDER BY Nome"); $linhas = mysqli_num_rows($resulta); $inscrito = mysqli_query($conectar, "SELECT * FROM tblinscprova WHERE Prova = 'prova' AND Atleta='IdAtleta'"); ?> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> <meta name="description" content=""> <meta name="author" content=""> <link rel="icon" href="adm/imagens/teste.ico"> </head> <div class="container theme-showcase" role="main"> <!-- Lista de utilizadores --> <div class="page-header"> <br /> <h1>Inscrever Atletas em Provas</h1> </div> <div class="form-group"> <label for="inputEmail3" class="col-sm-2 control-label">Prova em que o atleta se inscreve </label> <div class="col-sm-10"> <select class="form-control" name="prova" required> <option></option> <?php $resultado=mysqli_query($conectar, "SELECT * FROM tblprova ORDER BY DataProva"); WHILE($dados = mysqli_fetch_assoc($resultado)){?> <option value="<?php echo $dados['IdProva'];?>"> <?php echo $dados['NomeProva'];?></option> <?php } ?> </select> </div> </div> <div class="row"> <div class="col-md-12"> <table class="table"> <thead> <tr> <th>ID </th> <th>Nome</th> <th>Opções</th> <th>Inscrito</th> <!-- <th>Foto</th> --> </tr> </thead> <tbody> <?php while($linhas = mysqli_fetch_array($resulta)){ $naame = $linhas['Nome']; $noome = base64_decode($naame); echo "<tr>"; echo "<td>".$linhas['IdAtleta']."</td>"; echo "<td>".$noome."</td>"; //echo "<td>".Não."</td>"; ?> <td> <a href='administrativo.php?link=12&IdAtleta=<?php echo $linhas['IdAtleta'];?>'> <button type='button' class='btn btn-xs btn-primary'>Inscrever</button></a> <a href='processa/proc_apagar_atleta.php?IdAtleta=<?php echo $linhas['IdAtleta'];?>'><button type='button' class='btn btn-xs btn-danger'>Anular</button></a> <?php echo "</tr>"; } ?> </tbody> </table> </div> </div> </div> <!-- /container --> Podem ajudar-me?
       
      Muito obrigado, desde já.

    • Por rorlando
      Bom dia!
      tento fazer consulta em várias tabelas. tudo vai bem até a 3ª, a partir da 4ª a ampola da consulta fica rodando, mas não trás nenhum resultado. 
      O código que estou utilizando para meu banco é o seguinte:
      select so01.documento,so01.digito, so01.nome, so01.sexo, so01.situacao, so01.regional, so01.categoria, so01.observacao, so01.tipo, so01.n_spprev, so02.endereco, so02.bairro, so02.cidade, so02.estado, so02.cep, so02.aniversario,so03.rg, so03.cpf, so03.email, so04.estado_civil, so04.ddd, so04.telefone, so04.graduacao, so04.nascimento, so04.admissao, so04.admor from so01, so02, so03, so04 where so01.documento=so02.documento and so01.documento=so03.documento and so01.documento=so04.documento and so01.situacao <> 'demitido' and so01.tipo <> 'entidade' order by so01.regional, so01.tipo Quando não incluo a tabela so04 e suas referências eu obtenho o retorno.
      alguém teria a solução para meu problema? mesmo que tenha que alterar todo o código.
      Obrigado.
       
    • Por drx
      Olá Companheiros!
       
      Eu estou carregando os dados de uma base de dados em uma div e o problema que estou enfrentando é, que, todas as vezes que eu seleciono um novo item na select option, a página realiza um refresh indesejádo, deslocando a visualização dos dados. Alguém pode me auxiliar neste problema ?
      Desde já agradeço.
       
       
      Eu submeto o envio do form, através de uma jquery.
      Código;
      <script type="text/javascript">
      $(document).ready(function(){ 
      $("#cbo_uds").click(function(){   // <<< select option

          $("#form_res").submit()          // <<< nome do meu formulário
          
         });    
      });    
      </script> 
    • Por Jhohannes Freitas
      Bom dia, pessoal!
      Sou novo no fórum e tenho pouca experiência em PHP. 
      Problema: Estou montando uma tela de consulta, onde faço a pesquisa em um campo, consulta o banco de dados e através de um select o sistema me mostra os dados na mesma tela.
      Preciso que ao clicar em buscar, seja retornado o formulário igual em altdados.html preenchido automaticamente. 
      Ps: Já tentei usar o ajax, sem sucesso. 
      Fico no aguardo, obrigado desde já!
      Abraços!
       
      Segue abaixo os códigos consulta.php e altdados.htmlb .
       
      consulta.php
       
       
      altdados.html
       
       
    • Por ricardobzorzato
      Como mudar a posição do texto de erro em campos select2. está aparecendo em cima do campo, quero que aparece embaixo! Alguma dica?

×

Informação importante

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

Este projeto é mantido e patrocinado pelas empresas:
Hospedado por: