> Buen dia amigos del foro. > > Tengo una funcion que hace varios agrupaciones para un balance de > comprobacion, una para los saldos iniciales, para los movimientos, etc y > los voy uniendo con union all. Mi problema radica cuando quiero agrupar > por un campo extrayendo los 2,3 o 4, digitos iniciales de la cuenta, segun > el parametro $4. He estado haciendo esto: > > SELECT > substring(fpcdet.m_ccta,1,$4) as m_ccta, > SUM(CASE WHEN fpcdet.M_ACCI='D' THEN fpcdet.M_IMPN ELSE 0.00 END) AS > SI_DEBE, > SUM(CASE WHEN fpcdet.M_ACCI='H' THEN fpcdet.M_IMPN ELSE 0.00 END) AS > SI_HABE, > 0.00 AS MV_DEBE,0.00 AS MV_HABE,0.00 AS SA_DEBE,0.00 AS SA_HABE > FROM > fpcdet inner join fpccab on > fpcdet.m_empr=fpccab.m_empr and > fpcdet.m_anop=fpccab.m_anop and > fpcdet.m_mesp=fpccab.m_mesp and > fpcdet.m_grup=fpccab.m_grup and > fpcdet.m_ncom=fpccab.m_ncom > where fpcdet.m_empr=$1 and fpcdet.M_anop=$2 and fpcdet.M_MESP<$3 and > fpccab.m_cont='S' > GROUP BY fpcdet.m_ccta Con esto no me funciona bien, > pero si le coloco > GROUP BY 1 , me funciona bien, pero no se si es lo mas correcto O seria > mas conveniente; > GROUP BY substring(fpcdet.m_ccta,1,$4). > > Gracias por sus respuestas.
¿Has probado utilizar además un Order by? Saludos, Gilberto Castillo La Habana, Cuba
--- This message was processed by Kaspersky Mail Gateway 5.6.28/RELEASE running at host imx3.etecsa.cu Visit our web-site: <http://www.kaspersky.com>, <http://www.viruslist.com>
- Enviado a la lista de correo pgsql-es-ayuda ([email protected]) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda
