lo decis por la resta? perdon, no la habia visto! :( , deberias hacer:
sum(asidet.asideb) - sum(asidet.asihab) as saldo

On Tue, Feb 10, 2009 at 11:26 AM, Fernandos Siguenza <fs...@hotmail.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.
>
> Saludos
>
> ------------------------------
> Date: Tue, 10 Feb 2009 11:17:54 -0300
> Subject: Re: [pgsql-es-ayuda] Ayuda con group by
> From: mburd...@gmail.com
> To: fs...@hotmail.com
> CC: pgsql-es-ayuda@postgresql.org
>
>
> A simple vista, a cualquier campo al que no le estes aplicando una funcion
> agregada (sum, count, avg) lo tenes que poner en el group by.
> Además no estoy seguro de que puedas hacer group by mes cuando mes es el
> alias.
>
> vos decis que con esto no obtenes lo deseado?:
>
> select extract(MONTH from asifec) as
> mes,asidet.asicuecod,sum(asidet.asideb) as asideb,sum(asidet.asihab) as
> asihab,asideb-asihab as saldo ,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,
> asideb-asihab,cuegrutip
> ORDER BY mes,asicuecod
>
> Saludos
>
> On Tue, Feb 10, 2009 at 11:06 AM, Fernandos Siguenza <fs...@hotmail.com>wrote:
>
>  Amigos como estan, necesito que me ayuden tengo problemas con un select,
> quiero agrupar una consulta por mes y por cuenta contable, tal y como lo
> indico a continueacion
>
> select extract(MONTH from asifec) as
> mes,asidet.asicuecod,sum(asidet.asideb) as asideb,sum(asidet.asihab) as
> asihab,asideb-asihab as saldo ,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 mes,asidet.asicuecod
> ORDER BY mes,asicuecod
>
> Pero al ejecutar esta consulta me da el siguiente mensaje de error
> column "asidet.asideb" must appear in the GROUP BY clause or be used in an
> aggregate function
>
> Si pongo dentro del group by la columna asideb, luego me pide igual al
> asihab, y si ponto todas estas no es obtengo el resultado que deseo,
> alguien  me puede ayudar a ver que estoy haciendo mal.
>
> ------------------------------
> Color coding for safety: Windows Live Hotmail alerts you to suspicious
> email. Sign up 
> today.<http://windowslive.com/Explore/Hotmail?ocid=TXT_TAGLM_WL_hotmail_acq_safety_112008>
>
>
>
> ------------------------------
> Color coding for safety: Windows Live Hotmail alerts you to suspicious
> email. Sign up 
> today.<http://windowslive.com/Explore/Hotmail?ocid=TXT_TAGLM_WL_hotmail_acq_safety_112008>
>

Responder a