Re: Consulta sobre groupo by

From: Emanuel Calvo <emanuel(dot)calvo(at)2ndquadrant(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Consulta sobre groupo by
Date: 2014-10-07 14:38:04
Message-ID: 5433FACC.5020204@2ndquadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


El 07/10/14 a las 10:55, Felipe Araoz Ramos escibió:
>
> 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).
>

No soy amigo de utilizar funciones que se ejecuten por cada fila.
Yo dejaría el GROUP BY m_ccta . Aún así te aconsejo que hagas el
EXPLAIN ANALYZE de cada consulta y analices el comportamiento con
tus datos.

Si vas a compartir los explain usa: explain.depesz.com

--
--
Emanuel Calvo http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripcin:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gilberto Castillo 2014-10-07 14:39:00 Re: fecha de un registro en una tabla
Previous Message Linder Poclaba Lazaro 2014-10-07 14:33:06 Re: fecha de un registro en una tabla