Re: Ayuda con group by

From: Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>
To: Fernandos Siguenza <fsigu(at)hotmail(dot)com>
Cc: mburdman(at)gmail(dot)com, Foro Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Ayuda con group by
Date: 2009-02-10 16:34:51
Message-ID: 3073cc9b0902100834o1ed183e1lc726456f5cdccf89@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Tue, Feb 10, 2009 at 9:26 AM, Fernandos Siguenza <fsigu(at)hotmail(dot)com> wrote:
> Correcto gracias por responder, lo que necesito es tengo la tabla asidet, y
> asicab, y quiero sacar por mes cual es el saldo de cada cuenta contable,
> algo asi
> mes, cuenta,debe,haber,saldo,grupo
> 1 1 13 3 10 A
> 1 2 14 6 8 P
> 2 1 6 6 0 A
>
> entonces poniendo todo lo que obliga el postres osea el group by
> mes,asidet.asicuecod,,asideb,asihab,cuegrutip
> me sale algo como esto
> 1 1 10 2 8 A
> 1 1 3 1 2 A
> 1 2 14 6 8 P
> 2 1 6 6 0 A
>
> y por eso digo que si pongo todas las opciones de agrupacion no tengo lo que
> deseo.
>

select extract(MONTH from asifec) as
mes,asidet.asicuecod,sum(asidet.asideb) as asideb,sum(asidet.asihab)
as asihab,sum(asidet.asideb-asidet.asihab) as saldo , min(cuegrutip)
as grupo
FROM asicab,asidet,agencias,cuentagrupo
WHERE agencias.agecod=asicab.asiagecod
and asicab.asiagecod=asidet.asiagecod
and asicab.asidoc=asidet.asidoc
and asicab.asinum=asidet.asinum
and cuentagrupo.cuegrucod=substring(asidet.asicuecod,1,1)
and asifec<=now()
group by extract(MONTH from asifec),asidet.asicuecod
ORDER BY mes,asicuecod

estoy adivinando, pero creo que esto te deberia funcionar... el
problema es que si quieres que el saldo refleje la restas de los SUMS
debes hacer otro sum y no pretender que el alias represente al valor
sumado... en cuanto al grupo de la cuenta lo que hice fue sacar el
menor (MIN) tu puedes cambiar por MAX si quieres para sacar el mayor,
pero es indiferente... aun asi debe estar en una funcion de agregado
sino lo quieres agregar al group by...

la verdad es que eso del grupo es inutil, asumo que es un grupo por
cuenta asi si sacas una cuenta debe tener uno y solo un grupo
asociado... te saldria mas barato ponerlo en el group by

--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. +59387171157

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Luis Fernando Curiel Cabrera 2009-02-10 18:54:18 Re: ERROR "FATAL: password authentificaction faile for user"
Previous Message Emanuel Calvo Franco 2009-02-10 15:44:18 Re: Como hacer un for dentro de un trigger