On Aug 14, 2009, at 10:26 AM, Sergio Valdes Hurtado wrote:

Estimados,

tengo la siguiente consulta que muestra un desarrollo de cuotas por pagar:
SELECT id_cuota, id_rex, num_reso as varchar, id_reg,
   id_prov, id_com, cod_com, ley, num_cuota,
   monto_cuota, mes_cuota, agno_cuota
FROM public.cuotas;


luego tengo la siguiente consulta, que me suma el monto total de las
cuotas de cada mes, para cada una de las comunas(campo cod_com):
SELECT cod_com, agno_cuota, mes_cuota, sum(monto_cuota) total_a_descto
FROM public.cuotas
group by com, cod_com, agno_cuota, mes_cuota;

Mi problema es que si ustedes se fijan en la primera consulta hay un
campo llamado ley, que es un varchar y lo que necesito es que por cada
fila del resumen mensual de cuotas me muestre todas las leyes que
están en ese resumen.
Por ejemplo que me diera un resultado como este:
1212;2009;8;526800;ley 1 - ley 2 - ley 3

lo que indica que la Comuna 1212 para el Año 2009 y el mes 8 tiene
tres cuotas (registros) que suman 526800, una por la "ley 1", otra por
la "ley 2" y la última por la "ley 3" .

¿Se podrá hacer un informe como el que necesito?



Si. Utilizando funciones agregadas[1]. En la lista hace algun tiempo Alvaro Herrera dejo una funcion que, me parece, hace justamente eso que necesitas[2]

[1] http://www.postgresql.org/docs/8.4/interactive/sql-createaggregate.html
[2] http://archives.postgresql.org/pgsql-es-ayuda/2008-03/msg00466.php

Saludos,

Juan Gabriel Romero
jgrom...@gmail.com
Colombia

--
TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net

Responder a