RE:consulta sobre sum() en grupo

From: Andres Manuel Salvador Garcia <andresmsg(at)yahoo(dot)com(dot)mx>
To: pg_ayuda postgreSQL <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE:consulta sobre sum() en grupo
Date: 2007-02-16 00:56:11
Message-ID: 37646.68776.qm@web53404.mail.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Creo puedes hacerlo de la siguiente manera:

select dni,sum(case when tipo=1 then importe else 0 end) as ingresos,
sum(case when tipo=2 then importe else 0 end) as egresos
from pagos group by dni;

Espero y te sirva...

>Date: Wed, 14 Feb 2007 13:05:33 -0500
>From: "Luis Guevara" <luis(dot)a(dot)guevara(at)gmail(dot)com>
>To: PostgreSQL-foro <pgsql-es-ayuda(at)postgresql(dot)org>
>Subject: consulta sobre sum() en grupo
>Message-ID: <fa2b6e3a0702141005m5d4a3ef1mf3bb45d4095f4929(at)mail(dot)gmail(dot)com>
>
>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.




___________________________________________________________
Do You Yahoo!?
La mejor conexión a Internet y <b >2GB</b> extra a tu correo por $100 al mes. http://net.yahoo.com.mx

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Andres Manuel Salvador Garcia 2007-02-16 01:12:01 Re: consulta sobre sum() en grupo
Previous Message Andres Manuel Salvador Garcia 2007-02-16 00:06:55 RE: ejecucion mas rapida que a base de scripts