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