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)
>
>
>
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 |