Hola, en un SELECT con group by, si los campos no estan en la clausula GROUP BY tienen que estar afectados por una funcion aggregate ( sum(),avg() , count(), etc. ) .De otra forma no podria ejecturarse la consulta. Como esperas que te muestre los datos por ejemplo del campo a.corretivo si este devuelve datos distintos? es una condicion de SQL y pasa en cualquier RDBMS.
Dorian 2011/1/5 Rodrigo Ruiz Fuentes <rru...@gmail.com>: > Estimados, > necesito realizar la siguiente consulta: > > SELECT a.fecha_ingreso, a.correlativo, a.glosa, f.nombre AS fifo, c.nombre > AS nom_cuenta, > (c.campo_1||c.campo_2||c.campo_3||c.campo_4||c.campo_5||c.campo_6) AS > nro_cuenta, SUM(l.monto_debe) AS debe, SUM(l.monto_haber) AS haber > FROM mgp_asiento a > LEFT JOIN mgp_linea_asiento l ON a.id = l.mgp_asiento_id > LEFT JOIN mgp_fifo f ON a.mgp_fifo_id = f.id > LEFT JOIN mgp_cuenta_contable c ON l.mgp_cuenta_contable_id = c.id > WHERE (l.mgp_cuenta_contable_id IN (5, 7, 17, 10, 270, 20, 25, 26, 27, 30, > 36, 37, 42, 44, 48, 50) > AND a.estado = true > AND a.fecha_ingreso >= '2010-01-01' > AND a.fecha_ingreso <= '2010-12-31' > AND l.estado = true) > GROUP BY (l.mgp_cuenta_contable_id, l.mgp_asiento_id) > ORDER BY c.id ASC, a.correlativo ASC, a.fecha_ingreso ASC > > Sin embargo, al ejecutarla, me indica que debo agregar cada columna incluida > en el select a la cláusula GROUP BY, sin embargo, yo sólo quiero agrupar por > lo que sale en la consulta. > No puedo utilizar "SELECT DISTINCT ON (l.mgp_cuenta_contable_id, > l.mgp_asiento_id)". > Para aclarar un poco, necesito los campos indicados en el SELECT, que > representa la suma de los montos al debe y haber de diferentes asientos, > cuyas lineas tienen asociadas cuentas contables... > > Agredezco la ayuda estimados... feliz nuevo año! > > > -- > Rodrigo Ruiz Fuentes > > - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda