[firebase-br] Ajuda para um Select Sum
Rafael - FAV Ferro e Aço
rafael em favcomercial.com.br
Ter Fev 23 13:46:25 -03 2016
Olá amigo.
Sintaticamente o comando está errado.
Como você tem várias colunas e apenas 1 delas tem função de "agrupamento",
você deve incluir todas as demais no GROUP BY.
No caso, seu select deveria ser assim:
Select p.Id, p.Pedido_Num, p.Cliente, p.Data_Pedido, p.Valor_Total,
sum(p.Valor_Total) as Total_Geral from PEDIDO p
where p.Data_Pedido between :pDataini and :pDatafim
and p.Fechado = :pConfirmada
GROUP BY p.Id, p.Pedido_Num, p.Cliente, p.Data_Pedido, p.Valor_Total
order by p.data_pedido
Agora, logicamente também tem uma falha aí.
Se você quer o total de todos os registros que serão trazidos, você deve
fazer essa soma fora da consulta.
Muitas ferramentas de relatório têm essa função de acumulador.
Você pode fazer também uma consulta paralela para pegar APENAS a somatória:
Select sum(p.Valor_Total) as Total_Geral
from PEDIDO p
where p.Data_Pedido between :pDataini and :pDatafim
and p.Fechado = :pConfirmada
Perceba que essa consulta sempre retornará apenas UM registro.
Espero que tenha ajudado.
--
Rafael Cardoso Stella
Em 23 de fevereiro de 2016 12:36, Carlos Midia <carlosmidia2013 em gmail.com>
escreveu:
> Bom dia a todos, tenho um relatório com o seguinte select:
>
> Select p.Id, p.Pedido_Num, p.Cliente, p.Data_Pedido, p.Valor_Total,
> sum(p.Valor_Total) as Total_Geral from PEDIDO p
> where p.Data_Pedido between :pDataini and :pDatafim
> and p.Fechado = :pConfirmada
> GROUP BY p.id order by p.data_pedido
>
> porém preciso do valor total dos pedidos mais esta dando erro devido ao SUM
>
> ex:
>
> 1 002 VENDA AO CONSUMIDOR 23/02/2016 10,00
> 2 003 NOME DO CLIENTE 23/02/2016 10,00
> =======================================
> TOTAL 20,00
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>
Mais detalhes sobre a lista de discussão lista