RE: ALGO MUY RARO !!!!!!!!!!!!

From: MIGUEL CANCHAS <mcanchas(at)tsr(dot)com(dot)pe>
To: 'Silvio Quadri' <silvioq(at)gmail(dot)com>, MIGUEL CANCHAS <mcanchas(at)tsr(dot)com(dot)pe>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: RE: ALGO MUY RARO !!!!!!!!!!!!
Date: 2008-04-26 15:10:32
Message-ID: 410117BB01F4D611B73A00010331DD2403B58CE3@tsnt.tsr.com.pe
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

-----Mensaje original-----
De: Silvio Quadri [mailto:silvioq(at)gmail(dot)com]
Enviado el: Sábado, 26 de Abril de 2008 09:55 a.m.
Para: MIGUEL CANCHAS
CC: pgsql-es-ayuda(at)postgresql(dot)org
Asunto: Re: [pgsql-es-ayuda] ALGO MUY RARO !!!!!!!!!!!!

(Siempre olvido copiar a la lista)

El día 26 de abril de 2008 11:52, Silvio Quadri <silvioq(at)gmail(dot)com>
escribió:
>
> 2008/4/26 MIGUEL CANCHAS <mcanchas(at)tsr(dot)com(dot)pe>:
> >
> >
> > -----Mensaje original-----
> > De: Silvio Quadri [mailto:silvioq(at)gmail(dot)com]
> > Enviado el: Sábado, 26 de Abril de 2008 09:26 a.m.
> > Para: MIGUEL CANCHAS
> > Asunto: Re: [pgsql-es-ayuda] ALGO MUY RARO !!!!!!!!!!!!
> >
> >
> >
> >
> > 2008/4/26 MIGUEL CANCHAS <mcanchas(at)tsr(dot)com(dot)pe>:
> > > tengo este select :
> > >
> > > SELECT
> > > public.hrt1.idpartida,
> > > public.hrt1.anio_partida,
> > > public.hrt1.idbarca,
> > > public.hrt1.idcliente,
> > > sum(public.hrt2.kgs_programa) as prog,
> > > sum(public.hrt3.kg_armado) AS armado
> > > FROM
> > > public.hrt1
> > > LEFT OUTER JOIN public.hrt2 ON (public.hrt1.idpartida =
> > > public.hrt2.idpartida)
> > > AND (public.hrt1.anio_partida = public.hrt2.anio_partida)
> > > LEFT OUTER JOIN public.hrt3 ON (public.hrt2.idpartida =
> > > public.hrt3.idpartida)
> > > AND (public.hrt2.anio_partida = public.hrt3.anio_partida)
> > > WHERE
> > > (public.hrt1.idpartida = '10') AND
> > > (public.hrt1.anio_partida = '2008')
> > > GROUP BY
> > > public.hrt1.idpartida,
> > > public.hrt1.anio_partida,
> > > public.hrt1.idbarca,
> > > public.hrt1.idcliente
> > >
> > > En donde deberia arrojarme esto :
> > >
> > > idpartida anio_partida idbarca idcliente prog
> > > armado
> > > 10 2008 1 D001
> > 438
> > > 403.2
> > >
> > > Pero lo mas extraño es que arroja esto
> > >
> > > idpartida anio_partida idbarca idcliente prog
armado
> > > 10 2008 1 D001
> > 7446
> > > 403.2
> > >
> > > el prog me da 7446 y en hrt2 solo hay un item con esa cantidad de
438
> > > ¿a que se debe? ¿o estoy haciendo mal mi SQL?
> > >
> > > Gracias
> > >
> > > Miguel
> > > --
> > > TIP 4: No hagas 'kill -9' a postmaster
> > >
> >
> > Quizás haya 17 registros en hrt3.
> > Sacale los group by y los sum y mostrá todos los registros que te
> > devuelve el select.
> > Es eso lo que va a sumar.
> > Silvio
> >
> > --
> > Silvio Quadri
> >
> >
> > Asi es en hrt3, tiene 17 registros, y lo que deseo es que se sume, y
> > entonces como deberia hacer ese SUM.
> >
> > Miguel
> >
> >
>
> Si por cada combinación de la tabla hrt1, vas a tener una en hrt2, lo
> hacés con un max.
> Si no, obtenés el valor que querés con un subquery que haga el sum sin
> invocar a la tercera tabla.
> Silvio
>
>
>
> --
> Silvio Quadri
>
**************************************
LO Resolvi con esto :

SELECT
hrt1.idpartida,
hrt1.idbarca,
hrt1.idcliente,
public.mclientes.nomcliente,
hrt1.idcolor,
public.mcolores.nomcolor,
hrt1.fecha_partida,
(SELECT SUM(kgs_programa) AS "FIELD_1" FROM hrt2 WHERE (hrt2.idpartida =
hrt1.idpartida) AND (hrt2.anio_partida = hrt1.anio_partida)) AS programado,
(SELECT SUM(kg_armado) AS "FIELD_1" FROM hrt3 WHERE (hrt3.idpartida =
hrt1.idpartida) AND (hrt3.anio_partida = hrt1.anio_partida)) AS armado
FROM
hrt1
LEFT OUTER JOIN public.mclientes ON (hrt1.idcliente =
public.mclientes.idcliente)
LEFT OUTER JOIN public.mcolores ON (hrt1.idcolor =
public.mcolores.idcolor)

Gracias

Miguel

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Javier Chávez B. 2008-04-26 17:07:42 Re: Herramienta Case
Previous Message Silvio Quadri 2008-04-26 14:55:21 Re: ALGO MUY RARO !!!!!!!!!!!!