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

From: MIGUEL CANCHAS <mcanchas(at)tsr(dot)com(dot)pe>
To: 'Rodriguez Fernando' <rodriguez(at)ort(dot)edu(dot)uy>, 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-28 14:09:15
Message-ID: 410117BB01F4D611B73A00010331DD2403B58CEA@tsnt.tsr.com.pe
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

-----Mensaje original-----
De: Rodriguez Fernando [mailto:rodriguez(at)ort(dot)edu(dot)uy]
Enviado el: Lunes, 28 de Abril de 2008 06:51 a.m.
Para: MIGUEL CANCHAS
CC: pgsql-es-ayuda(at)postgresql(dot)org
Asunto: Re: [pgsql-es-ayuda] ALGO MUY RARO !!!!!!!!!!!!

MIGUEL CANCHAS wrote:
> 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
>
Hola :
No deberia tener nada que ver, pero espresa el join de esta manera.

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)

Saludos Fernando

********************
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 Luis D. García 2008-04-28 14:34:46 Fallo en pruebas con Slony
Previous Message dennys lara 2008-04-28 13:55:56 download