Calculo SQL
Boa Noite, Pessoal.
Eu utilizo o comando abaixo que soma o Total por Funcionario quando clico em um botão.
Fica como abaixo:
FUNCIONARIO -------- TOTAL
MARCOS PAULO ----- 120,00
JOAO PESSOA -------- 15,00
TERESA --------------- 150,00
LULA ------------------ 1,51
Gostaria de saber se tem como eu calcular o total do total.
Gostaria que ficasse assim:
FUNCIONARIO -------- TOTAL
MARCOS PAULO ----- 135,00
JOAO PESSOA -------- 15,00
TERESA --------------- 150,00
LULA ------------------ 150,00
TOTAL ------- 450,00
Me ajudem pessoal.
Eu utilizo o comando abaixo que soma o Total por Funcionario quando clico em um botão.
Fica como abaixo:
FUNCIONARIO -------- TOTAL
MARCOS PAULO ----- 120,00
JOAO PESSOA -------- 15,00
TERESA --------------- 150,00
LULA ------------------ 1,51
Gostaria de saber se tem como eu calcular o total do total.
Gostaria que ficasse assim:
FUNCIONARIO -------- TOTAL
MARCOS PAULO ----- 135,00
JOAO PESSOA -------- 15,00
TERESA --------------- 150,00
LULA ------------------ 150,00
TOTAL ------- 450,00
Me ajudem pessoal.
While Query1 do
begin
close;
SQL.Clear;
SQL.Add(´Select FUNCIONARIO, SUM(VALOR) as TOTAL From Tabela1´);
SQL.Add(´GROUP BY FUNCIONARIO´);
Open;
End;
Marcelovms
Curtidas 0
Respostas
Gilberto Fernandes
27/07/2007
acho q em somente uma sql vc não consegue trazer os valores separados e a soma ao mesmo tempo não. ou vc faz um sql trazendo o total, ou faz um while comando os valores de cada registro, junto com essa sql.
GOSTEI 0
Only
27/07/2007
no MS-SQL eu uso assim, em outro banco nunca testei pra ver se rola,
tenta ae e posta se deu certo
SELECT CASE WHEN (GROUPING(Funcionario) = 1) THEN ´Total´
ELSE ISNULL(Funcionario, ´NÃO INFORMADO´)
END AS Funcionario,
SUM(Total) AS Total_Vendido
FROM Pedidos
GROUP BY Funcionario WITH rollup
Rafael Pedrosa
tenta ae e posta se deu certo
SELECT CASE WHEN (GROUPING(Funcionario) = 1) THEN ´Total´
ELSE ISNULL(Funcionario, ´NÃO INFORMADO´)
END AS Funcionario,
SUM(Total) AS Total_Vendido
FROM Pedidos
GROUP BY Funcionario WITH rollup
Rafael Pedrosa
GOSTEI 0
Djjunior
27/07/2007
Cara eu conhecia o with Rollup só não sabia do ´case when grouping´ realmente muito útil. :D
Uma outra opção é usar o CUBE no lugar do ROLLUP´.
Uma outra opção é usar o CUBE no lugar do ROLLUP´.
GOSTEI 0
Emerson Nascimento
27/07/2007
uma solução mais genérica seria utilizar duas consultas e uni-las
não é tão elegante quanto a forma apresentada para o SQL Server, mas funciona na maioria dos banco de dados.
select funcionario, sum(valor) from receitas group by funcionario union all select ´TOTAL´, sum(valor) from receitas
GOSTEI 0