Bom dia
Minha humilde sugestão: Elimine o GROUP BY da subconsulta (GROUP BY "Grupo_Conta"). Ele é desnecessário já que o resultado final é um único valor e provavelmente comprometerá a performance. Dependendo do SQL da view "public"."View_Extrato_Bancos" você poderia colocar esse GROUP BY lá, ou melhor ainda criar um índice, dessa forma agilizaria a subconsulta (se é que você já não tenha feito isso). Att, Renato Senda De: pgbr-geral [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Ricardo Enviada em: quinta-feira, 7 de novembro de 2013 12:16 Para: ( Lista ) PostgreSQL Assunto: [pgbr-geral] Sub Consulta Bom dia pessoal, preciso fazer uma sub consulta para calcular a soma do valor_efetivado por grupo_conta. Montei o select abaixo mas não sei se é a melhor forma. Alguém tem alguma sugestão ? Obrigado SELECT "Codigo", "Tipo_Conta", "Grupo_Conta", "Codigo_Conta", "Codigo_Banco", "Codigo_Parcela", "Quantidade_Parcelas", "Data_Vencimento", CAST( ( "Valor_Vencimento" * ( CASE "Tipo_Conta" WHEN 'Saida' THEN -1 ELSE 1 END ) ) as "d_Moeda_15_4" ) as "Valor_Vencimento", "Data_Efetivado", "Valor_Juros", "Valor_Multa", "Valor_Desconto", CAST( ( "Valor_Efetivado" * ( CASE "Tipo_Conta" WHEN 'Saida' THEN -1 ELSE 1 END ) ) as "d_Moeda_15_4" ) as "Valor_Efetivado", ( SELECT SUM( CAST( ( "Valor_Efetivado" * ( CASE "Tipo_Conta" WHEN 'Saida' THEN -1 ELSE 1 END ) ) as "d_Moeda_15_4" ) ) FROM "public"."View_Extrato_Bancos" WHERE ( "Data_Vencimento" BETWEEN '01/09/2013' AND '01/11/2013' OR "Data_Efetivado" BETWEEN '01/09/2013' AND '01/11/2013' ) AND "Grupo_Conta" = cod."Grupo_Conta" GROUP BY "Grupo_Conta" ) as "Valor_Efetivado_Grupo", "Autorizacao", "N_NotaFiscal", "N_Boleto", "N_Cheque", "Codigo_Transportadora", "Codigo_Fornecedor", "Codigo_Compra", "Codigo_Cliente", "Codigo_Movimento", "Codigo_Servico", "Data_Cadastro", "Ultimo_Usuario", "Data_Modificado", "_CHAVE_UNICA" FROM "public"."View_Extrato_Bancos" cod WHERE "Data_Vencimento" BETWEEN '01/09/2013' AND '01/11/2013' OR "Data_Efetivado" BETWEEN '01/09/2013' AND '01/11/2013' ORDER BY "Grupo_Conta", "Data_Efetivado", "Data_Vencimento"
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral