Re: RV: Consulta SQL algo compleja

From: Lynkx <lynkx(at)surnet(dot)cl>
To: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: RV: Consulta SQL algo compleja
Date: 2004-12-15 11:13:47
Message-ID: 41C01C6B.3080909@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola Alvaro.
Intente con lo que me dijiste y con lo sgte:

SELECT
s.cod_sucursal, s.nombre,
(SUM(f.valor) - COALESCE(SUM(n.valor), 0)) AS sum_valor
FROM sucursales s LEFT JOIN (facturas f LEFT JOIN
notas_credito n USING (num_fact, cod_sucursal)) USING (cod_sucursal)
GROUP BY
s.cod_sucursal, s.nombre

Pero me sigue devolviendo null en las sucursales que no tengan ninguna
factura aun.

Saludos

Alvaro Herrera wrote:

>On Tue, Dec 14, 2004 at 11:04:29AM +0000, Lynkx wrote:
>
>Hola,
>
>
>
>>Si agrego una nueva sucursal, por ejemplo, sede2, al ejecutar la
>>consulta no aparece con sum_valor igual a cero. O sea, la idea es mas o
>>menos esto:
>>1 matriz 125
>>2 sede 200
>>3 sede2 0 <--- En el caso q todavia no tenga ninguna factura asociada
>>
>>
>
>Creo que para esto tendrias que convertir el join con sucursales en un
>outer join tambien, algo como
>
>SELECT
> cod_sucursal, s.nombre,
> (SUM(f.valor) - COALESCE(SUM(n.valor), 0)) AS sum_valor
>FROM facturas f LEFT JOIN
> notas_credito n USING (num_fact, cod_sucursal) RIGHT JOIN
> sucursales USING (cod_sucursal)
>GROUP BY
> cod_sucursal, s.nombre
>
>Si no funciona, intenta reordenando la lista de join items para que
>queden solo left outer joins ... (creo que right join tiene alguna
>limitacion que left join no tiene)
>
>
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Juanky Moral 2004-12-15 13:26:35 Re: Problemas con el PL/pgSQL
Previous Message jaimench@ya.com 2004-12-15 03:05:57 Problemas con el PL/pgSQL