Ir para conteúdo
Fórum Script Brasil

devdenis

Membros
  • Total de itens

    5
  • Registro em

  • Última visita

Sobre devdenis

devdenis's Achievements

0

Reputação

  1. Obrigado Denis... ainda vou testar testar isso que passou ! Está difícil esse somatório ...Peço que deixe o tópico ativo, quando sobrar tempo vou tentar denovo ! Grato !
  2. poxa Denis consegui... você é o cara, me ajudou bastante seu exemplo.. agora tá somando os meios e os inteiros certinho.. eu apenas subtrai os resultados que eram = 'NT'. Está trazendo bastante resultado mais não estou conseguindo somar a qt_total, ou seja, mensalidade =8 + mensalidade=4 . (TOTAL RECEITA) parece estar somando apenas mensalidade=8. Estou tentando assim sem êxito: $sql_sum = " SELECT linhas.id, SUM(IF(passageiro.mensalidade=8,1,0) - (passageiro.linha_ida='NT' OR passageiro.linha_volta='NT')) AS qt_inteiros, SUM(IF(passageiro.mensalidade=8, passageiro.mensalidade,0)) AS soma_inteiros, SUM(IF(passageiro.mensalidade=4,1,0)) AS qt_meios, SUM(IF(passageiro.mensalidade=4, passageiro.mensalidade,0)) AS soma_meios, SUM(IF(passageiro.mensalidade=4,1,0) + (passageiro.linha_ida='NT' | passageiro.linha_volta='NT')) AS qt_nao_conv_meios, SUM(IF(passageiro.mensalidade=4,1,0) + (passageiro.linha_volta='NT')) AS qt_nao_conv_ida_meios, SUM(IF(passageiro.mensalidade=8,1,0) + (passageiro.linha_ida='NT' OR passageiro.linha_volta='NT')) AS qt_total_pagantes, SUM(IF(passageiro.mensalidade=8, passageiro.mensalidade,0) && passageiro.mensalidade=4, passageiro.mensalidade,0) ) AS qt_total FROM passageiro, linhas WHERE(passageiro.situacao='AT' OR passageiro.situacao='CO') AND passageiro.linha_ida=linhas.id GROUP BY linhas.id"; RESULTADO: sabe como posso somar essa qt_total?
  3. Obrigado pela resposta Denis, e belo nome rs ! Bom eu adaptei o seu exemplo e funcionou, mais ainda não consegui todos resultados. Dessa maneira esta somando corretamente apenas os MEIOS, ou seja, mensalidade=4: $sql_sum = "SELECT linhas.id, SUM(if(mensalidade=8,1,0)) as qt_inteiros, SUM(if(mensalidade=8, mensalidade,0)) as soma_inteiros, sum(if(mensalidade=4,1,0)) as qt_meios, SUM(if(mensalidade=4, mensalidade,0)) as soma_meios FROM passageiro, linhas WHERE(passageiro.situacao='AT' OR passageiro.situacao='CO') AND passageiro.linha_ida=linhas.id GROUP BY linhas.id"; RESULTADO: E acrescentando passageiro.linha_volta=linhas.id antes de GROUP BY está somando corretamento apenas os INTEIROS, ou seja, mensalidade=8, e zerando os meios. $sql_sum = "SELECT linhas.id, linhas.situacao, SUM(if(mensalidade=8,1,0)) as qt_inteiros, SUM(if(mensalidade=8, mensalidade,0)) as soma_inteiros, sum(if(mensalidade=4,1,0)) as qt_meios, SUM(if(mensalidade=4, mensalidade,0)) as soma_meios FROM passageiro, linhas WHERE(passageiro.situacao='AT' OR passageiro.situacao='CO') AND passageiro.linha_ida=linhas.id AND passageiro.linha_volta=linhas.id GROUP BY linhas.id"; RESULTADO: O que faz este 8,1,0 cria uma espécie de ponteiro que zera o resultado na query para próxima soma? Estou tentando vendo se consigo ajustar. Obrigado pela ajuda e se alguém tiver mais alguma solução agradeço.
  4. Supondo que que o registro foi gravado com a colação utf8_general_ci Tente (não testado) SELECT * FROM 'palavras' WHERE palavra LIKE _utf8 '%inglês%' COLLATE utf8_general_ci;
  5. Boa Noite a todos. Meu código precisa fazer um somatório, mais está somando apenas quando o valor='8'. valor='4' está retornando a mesma soma de valor='8' EXEMPLO: Temos as tabelas linhas e passageiros. Código para somatório: Sendo 8= inteiros 4= meios <?php $sql_sum = "SELECT linhas.id, SUM(passageiro.mensalidade='8') AS inteiros_conv, SUM(passageiro.mensalidade) AS num_inteiros_conv, SUM(passageiro.mensalidade='4') AS meios_conv, SUM(passageiro.mensalidade) AS num_meios_conv FROM passageiro, linhas WHERE (passageiro.situacao='AT' OR passageiro.situacao='CO') AND passageiro.linha_ida=linhas.id AND passageiro.linha_volta=linhas.id GROUP BY linhas.id"; $consulta_sumario = mysql_query($sql_sum); echo '<center><table class="table_relatorio_seguro"> <div class="vermelho" style="text-transform:uppercase;"> Relatório de Cálculo Sumário<br /><br /></div>'; echo '<tr class="table_relatorio_seguro">'; echo '<td class="vermelho" ><center>Linha</center></td>'; echo '<td class="vermelho" ><center>Inteiros Conv</center></td>'; echo '<td class="vermelho" ><center>Num Inteiros Conv.</center></td>'; echo '<td class="vermelho" ><center>Meios Conv</center></td>'; echo '<td class="vermelho" ><center>Num Meios Conv</center></td>'; echo '</tr>'; while($registro_sum = mysql_fetch_assoc($consulta_sumario)){ echo '<tr class="table_relatorio_seguro">'; echo '<td><center>'.$registro_sum["id"].'</center></td>'; echo '<td><center>'.$registro_sum["inteiros_conv"].'</center></td>'; echo '<td><center>'.$registro_sum["num_inteiros_conv"].'</center></td>'; echo '<td><center>'.$registro_sum["meios_conv"].'</center></td>'; echo '<td><center>'.$registro_sum["num_meios_conv"].'</center></td>'; echo '</tr>'; } echo '</table></center>'; ?> Os INTEIROS CONV e os NUM INTEIROS CONV estão corretos. Já os MEIOS CONV estão resultando 'zero' e os NUM MEIOS CONV estão repetindo a soma com valor='8' e não com valor='4'. RESULTADO QUE ESTOU OBTENDO: Agradeço desde já qualquer ajuda pois está complicado!
×
×
  • Criar Novo...