From: | Gabriel Colina <colina_movil(at)yahoo(dot)com> |
---|---|
To: | Luis Guevara <luis(dot)a(dot)guevara(at)gmail(dot)com>, PostgreSQL-foro <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: consulta sobre sum() en grupo |
Date: | 2007-02-14 18:22:40 |
Message-ID: | 885408.95692.qm@web34708.mail.mud.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
--- Luis Guevara <luis(dot)a(dot)guevara(at)gmail(dot)com> escribió:
> Hola amigos:
>
> Tengo la siguiente tabla:
>
> dni tipo importe
> 22222222 2 10
> 22222222 2 10
> 22222222 1 30
> 11111111 2 20
> 11111111 2 50
> 11111111 1 300
> 11111111 1 200
>
> Donde Tipo:
> 1 --> ingresos
> 2 --> egresos
>
>
> Deseo obtener la siguiente consulta:
>
> dni ingresos egresos
> 22222222 30 20
> 11111111 500 70
>
> ¿ Es posible obtenerlo mediante una sola consulta ?
>
> He intentado con lo siguiente:
>
> select dni,tipo,
> case when tipo=1 then sum(importe) end as
> ingresos,
> case when tipo=2 then sum(importe) end as
> egresos
> from pagos
> group by dni,
> tipo
>
> Pero no obtengo lo deseado.
>
> Espero puedan darme una mano.
>
>
> Gracias
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
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/
From | Date | Subject | |
---|---|---|---|
Next Message | Leonel Nunez | 2007-02-14 18:35:50 | Re: Certificación ISO |
Previous Message | Gabriel Colina | 2007-02-14 18:17:58 | Re: Certificación ISO |