From: | "Luis Guevara" <luis(dot)a(dot)guevara(at)gmail(dot)com> |
---|---|
To: | Miguel Bernilla Sánchez <mbernilla(at)sedapal(dot)com(dot)pe> |
Cc: | "Miguel Huerta" <hgmiguel(at)gmail(dot)com>, PostgreSQL-foro <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Re[2]: consulta sobre sum() en grupo |
Date: | 2007-02-14 23:45:06 |
Message-ID: | fa2b6e3a0702141545p38fdc710h2d37b1e3d9452650@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Ok. gracias a todos.
Siempre lo he trabajado así, solo que pensé que era posible a partir de una
sola consulta y no de una consulta a una subconsulta.
Gracias
atte.
Luis Guevara
El día 14/02/07, Miguel Bernilla Sánchez <mbernilla(at)sedapal(dot)com(dot)pe>
escribió:
>
> ahi va....
>
> select v2.dni,sum(v2.ingresos),sum(v2.egresos)
> from (select v.dni as dni,
> case when v.tipo = 1 then v.importe end as ingresos,
> case when v.tipo = 2 then v.importe end as egresos
> from (select dni,tipo,sum(importe) as importe from tablax
> group by dni,tipo) v) v2
> group by v2.dni;
>
> ============
> Con fecha Miércoles, 14 de Febrero de 2007, 03:00:32 p.m., escribió:
>
>
> > On 2/14/07, Luis Guevara <luis(dot)a(dot)guevara(at)gmail(dot)com> wrote:
> > Al aplicar esa consulta que me sugieren ambos ( que es la misma o
> > parecida a la que estoy probando), obtengo el siguiente resultado:
>
> > dni ingresos egresos
> > 11111111 0 70
> > 11111111 500 0
> > 22222222 30 0
> > 22222222 0 20
>
> > Me parce que estas haciendo group by dni,tipo.
> > Deja solo GROUP BY dni
> >
> > el cual no es el desado.
> > Lo que deseo es obtener esto:
>
> > dni ingresos egresos
> > 22222222 30 20
> > 11111111 500 70
>
> > Me parece que la unica solución para llegar a esto, seria aplicar otra
> consulta
> > con group by dni. ¿ no hay otra solución para obtener el resultado
> > tan solo con la primera consulta ?
>
> > Gracias
>
>
> > El día 14/02/07, Alvaro Herrera < alvherre(at)commandprompt(dot)com> escribió:
> > Gabriel Colina escribió:
> >>
> >> --- Luis Guevara < luis(dot)a(dot)guevara(at)gmail(dot)com> escribió:
> >>
>
> >> Estoy seguro que te van a dar una mejor respuesta
> >> puesto que lo hago con la empresa a punto de cerrar.,
> >> pero asi sin pensarlo le agregaria los else.
> >>
> >>
> >> select dni,tipo,
> >> case when tipo=1 then sum(importe) else 0 end
> >> as
> >>ingresos,
> >> case when tipo=2 then sum(importe) else 0 end
> >> as
> >>egresos
> >>from pagos
> >>group by dni,
> >> tipo
>
> > Claro, yo habria hecho algo como
>
> > select dni,
> > sum(case when tipo = 1 then importe else 0 end) as ingreso,
> > sum(case when tipo = 2 then importe else 0 end) as egreso,
> > from pagos
> > group by dni
>
> > --
> > Alvaro
> > Herrerahttp://www.CommandPrompt.com/
> > PostgreSQL Replication, Consulting, Custom Development, 24x7 support
>
>
>
>
> > --
> > atte.
> > Luis Guevara
>
>
>
>
>
--
atte.
Luis Guevara
From | Date | Subject | |
---|---|---|---|
Next Message | Luis Guevara | 2007-02-14 23:52:20 | Re: Re[2]: consulta sobre sum() en grupo |
Previous Message | Gabriel Colina | 2007-02-14 23:25:15 | Re: Certificación ISO |