Totalização dando erro em group by (RESOLVIDO)

Essa select

SELECT nome_natureza, CASE WHEN mes_sequencia = 1 THEN SUM(valor_arrecadado) ELSE SUM(0) END as mesjan, CASE WHEN mes_sequencia = 2 THEN SUM(valor_arrecadado) ELSE SUM(0) END as mesfev, CASE WHEN mes_sequencia = 3 THEN SUM(valor_arrecadado) ELSE SUM(0) END as mesmar, CASE WHEN mes_sequencia = 4 THEN SUM(valor_arrecadado) ELSE SUM(0) END as mesabr, CASE WHEN mes_sequencia = 5 THEN SUM(valor_arrecadado) ELSE SUM(0) END as mesmai, CASE WHEN mes_sequencia = 6 THEN SUM(valor_arrecadado) ELSE SUM(0) END as mesjun, CASE WHEN mes_sequencia = 7 THEN SUM(valor_arrecadado) ELSE SUM(0) END as mesjul, CASE WHEN mes_sequencia = 8 THEN SUM(valor_arrecadado) ELSE SUM(0) END as mesago, CASE WHEN mes_sequencia = 9 THEN SUM(valor_arrecadado) ELSE SUM(0) END as messet, CASE WHEN mes_sequencia = 10 THEN SUM(valor_arrecadado) ELSE SUM(0) END as mesout, CASE WHEN mes_sequencia = 11 THEN SUM(valor_arrecadado) ELSE SUM(0) END as mesnov, CASE WHEN mes_sequencia = 12 THEN SUM(valor_arrecadado) ELSE SUM(0) END as mesdez from transp_receitas_mensal WHERE ano_exercicio = ‘2016’ AND codigo_ug = ‘347100’ group by nome_natureza order by nome_natureza asc

Ta funfando normal, porem se eu coloco para exibir a totalização da a seguinte mensagem

Invalid use of group function
select count(*), sum(CASE WHEN mes_sequencia = 1 THEN SUM(valor_arrecadado) ELSE SUM(0) END) as sum_mesjan, sum(CASE WHEN mes_sequencia = 2 THEN SUM(valor_arrecadado) ELSE SUM(0) END) as sum_mesfev, sum(CASE WHEN mes_sequencia = 3 THEN SUM(valor_arrecadado) ELSE SUM(0) END) as sum_mesmar, sum(CASE WHEN mes_sequencia = 4 THEN SUM(valor_arrecadado) ELSE SUM(0) END) as sum_mesabr, sum(CASE WHEN mes_sequencia = 5 THEN SUM(valor_arrecadado) ELSE SUM(0) END) as sum_mesmai, sum(CASE WHEN mes_sequencia = 6 THEN SUM(valor_arrecadado) ELSE SUM(0) END) as sum_mesjun, sum(CASE WHEN mes_sequencia = 7 THEN SUM(valor_arrecadado) ELSE SUM(0) END) as sum_mesjul, sum(CASE WHEN mes_sequencia = 8 THEN SUM(valor_arrecadado) ELSE SUM(0) END) as sum_mesago, sum(CASE WHEN mes_sequencia = 9 THEN SUM(valor_arrecadado) ELSE SUM(0) END) as sum_messet, sum(CASE WHEN mes_sequencia = 10 THEN SUM(valor_arrecadado) ELSE SUM(0) END) as sum_mesout, sum(CASE WHEN mes_sequencia = 11 THEN SUM(valor_arrecadado) ELSE SUM(0) END) as sum_mesnov, sum(CASE WHEN mes_sequencia = 12 THEN SUM(valor_arrecadado) ELSE SUM(0) END) as sum_mesdez from transp_receitas_mensal WHERE ano_exercicio = ‘2016’ AND codigo_ug = ‘347100’ group by nome_natureza

O que pode ser isso ?

Valeu

Crie uma VIEW com e use a view na Consulta

Ja fiz por view meu amigo, porem o erro é na totalização… no select normal, se eu não pedir pra exibir a totalização, não da erro.

Bom dia,

Karlos, uma sugestão, identa a sua sentença, fica mais fácil de entender quando outra pessoa está vendo, vai mais uma sugestão no else sum (0) tenta else 0.

Obrigado pessoal, mais uma vez a view foi a solução…rs**

Mais uma vez, obrigado Willian Fernando.

Grande abraço a todos que de alguma forma me ajudaram.

Carlos
Piracicaba/SP