Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-es-ayuda by date

Next:From: Luis D. GarcíaDate: 2008-04-28 14:34:46
Subject: Fallo en pruebas con Slony
Previous:From: dennys laraDate: 2008-04-28 13:55:56
Subject: download

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group