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: [email protected] To: [email protected] CC: [email protected] 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 <[email protected]> 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. _________________________________________________________________ Color coding for safety: Windows Live Hotmail alerts you to suspicious email. http://windowslive.com/Explore/Hotmail?ocid=TXT_TAGLM_WL_hotmail_acq_safety_112008
