Untitled
unknown
plain_text
3 years ago
4.9 kB
3
Indexable
WITH DESCRICAO as ( SELECT ROW_NUMBER() OVER(PARTITION BY codigo ORDER BY codigo DESC) as REPETE, codigo, d.rec_descricao, previsao_atualizada, receita_realizada, deducao_fundeb, outras_deducoes, intraorçamentario FROM cp_2207 as D INNER JOIN ( SELECT codigo, COALESCE(SUM((movimentos.identificador_111 - movimentos.identificador_112) + (movimentos.identificador_121 - movimentos.identificador_122 - movimentos.identificador_123 + movimentos.identificador_124)), 0) AS previsao_atualizada, SUM(CASE WHEN (movimentos.categoria_4320 NOT ilike '47%' AND movimentos.categoria_4320 NOT ilike '48%') THEN (movimentos.identificador_131 - movimentos.identificador_132)ELSE 0 END ) AS receita_realizada, SUM(CASE WHEN (movimentos.FUNDEB=105 AND (movimentos.categoria_4320 NOT ilike '97%' AND movimentos.categoria_4320 NOT ilike '98%')) THEN ((movimentos.identificador_141 - movimentos.identificador_142) + (movimentos.identificador_151 - movimentos.identificador_152)) ELSE 0 END) AS deducao_fundeb, SUM(CASE WHEN (movimentos.FUNDEB<>105 AND (movimentos.categoria_4320 NOT ilike '97%' AND movimentos.categoria_4320 NOT ilike '98%')) THEN ((movimentos.identificador_141 - movimentos.identificador_142) + (movimentos.identificador_151 - movimentos.identificador_152)) ELSE 0 END) AS outras_deducoes, SUM(CASE WHEN (movimentos.categoria_4320 ilike '47%' OR movimentos.categoria_4320 ilike '48%' OR movimentos.categoria_4320 ilike '97%' OR movimentos.categoria_4320 ilike '98%') THEN ((movimentos.identificador_131 - movimentos.identificador_132) - (movimentos.identificador_141 - movimentos.identificador_142) - (movimentos.identificador_151 - movimentos.identificador_152))ELSE 0 END) AS intraorçamentario FROM (SELECT cp_22.rc_caracteristica as FUNDEB, cp_22.rc_categoria_4320 as categoria_4320, COALESCE(cp_07.rec_categoria_siope, cp_07.rec_classificacao_stn) as Codigo, cp_07.rec_descricao AS descrição_receita, SUM(CASE WHEN cp_00.mv_tipo_movimento = 111 THEN cp_00.mv_valor_movimento ELSE 0 END) AS identificador_111, SUM(CASE WHEN cp_00.mv_tipo_movimento = 112 THEN cp_00.mv_valor_movimento ELSE 0 END) AS identificador_112, SUM(CASE WHEN cp_00.mv_tipo_movimento = 121 THEN cp_00.mv_valor_movimento ELSE 0 END) AS identificador_121, SUM(CASE WHEN cp_00.mv_tipo_movimento = 122 THEN cp_00.mv_valor_movimento ELSE 0 END) AS identificador_122, SUM(CASE WHEN cp_00.mv_tipo_movimento = 123 THEN cp_00.mv_valor_movimento ELSE 0 END) AS identificador_123, SUM(CASE WHEN cp_00.mv_tipo_movimento = 124 THEN cp_00.mv_valor_movimento ELSE 0 END) AS identificador_124, SUM(CASE WHEN cp_00.mv_tipo_movimento = 131 THEN cp_00.mv_valor_movimento ELSE 0 END) AS identificador_131,SUM(CASE WHEN cp_00.mv_tipo_movimento = 132 THEN cp_00.mv_valor_movimento ELSE 0 END) AS identificador_132, SUM(CASE WHEN cp_00.mv_tipo_movimento = 141 THEN cp_00.mv_valor_movimento ELSE 0 END) AS identificador_141, SUM(CASE WHEN cp_00.mv_tipo_movimento = 142 THEN cp_00.mv_valor_movimento ELSE 0 END) AS identificador_142, SUM(CASE WHEN cp_00.mv_tipo_movimento = 151 THEN cp_00.mv_valor_movimento ELSE 0 END) AS identificador_151, SUM(CASE WHEN cp_00.mv_tipo_movimento = 152 THEN cp_00.mv_valor_movimento ELSE 0 END) AS identificador_152 FROM cp_2200 cp_00 INNER JOIN cp_2221 cp_22 ON cp_22.rc_receita = cp_00.mv_receita INNER JOIN cp_2207 cp_07 ON cp_07.rec_classificacao_4320=cp_22.rc_categoria_4320 WHERE cp_00.mv_tipo_movimento IN (111, 112, 121, 122, 123, 131, 132, 141, 142, 151, 152) AND cp_00.integridade IS TRUE AND EXTRACT(MONTH FROM cp_00.mv_data) BETWEEN 1 AND 2 GROUP BY cp_22.rc_caracteristica,cp_00.mv_receita,cp_22.rc_categoria_4320,cp_07.rec_categoria_siope, cp_07.rec_classificacao_stn,cp_07.rec_descricao, cp_00.mv_tipo_movimento, cp_00.mv_valor_movimento) AS movimentos GROUP BY codigo ORDER BY codigo) AS TESTE ON SUBSTRING (D.rec_classificacao_4320,2,15) = teste.codigo WHERE rec_classificacao_4320 ILIKE '4%') SELECT* FROM DESCRICAO WHERE REPETE = 1 ORDER BY codigo
Editor is loading...