Consulta con Subselect

From: Victor Báez <victor(dot)baez(at)mickey(dot)com(dot)py>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Consulta con Subselect
Date: 2012-02-03 14:36:38
Message-ID: 000901cce281$3ee90960$bcbb1c20$@baez@mickey.com.py
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola amigos. Tengo inconveniente por la lentitud de esta consulta si me
podrían ayudar.

Lo que hace la consulta es seleccionar todas las zonas y nos interesa la
cant en peso de los productos, el precio total dentro de un periodo de fecha
y según otros parámetros. Resulta que es muy lento con esta

SELECT z.dizonas, z.zona, z.idvendedor,

(SELECT SUM(fd.cantidad*p.peso)

From facturas_detalle fd LEFF JOIN (factaru f
LEFT JOIN clients c ON f.cliente=c.cliente) ON f.difactura=fd.factura


LEFT JOIN productos p ON fd.codigoproducto=p.codigoproducto

WHERE c.idzonas=z.idzonas AND f.fecha between ?fecha1_p1 AND fecha1_p1
)::numeric (18,4) as peso_total_periodo1,

(SELECT SUM(fd.cantidad*p.peso)

From facturas_detalle fd LEFF JOIN (factaru f
LEFT JOIN clients c ON f.cliente=c.cliente) ON f.difactura=fd.factura


LEFT JOIN productos p ON fd.codigoproducto=p.codigoproducto

WHERE c.idzonas=z.idzonas AND f.fecha between ?fecha1_p2 AND fecha1_p2
)::numeric (18,4) as peso_total_periodo2

FROM zonas z

GROUP BY z.dizonas, z.zona, z.idvendedor

ORDER BY z.idzonas

Notese que aqui ay 2 subconsulta para 2 columna solo para peso de diferente
periodo y si quiero agregar importe, cantidad en undad me aumentara en 6
subconsulta.

Tablas usadas

Zonas

Clientes

Factura – Encabezado

Factura_detalle

Productos

Ay otras tablas mas pero probando con esto ya es lento, pienso que por los
sub select que hace para cada columna que va agregando,

Mi pregunta es si ay alguna forma de traer varias columna de una vez en una
sola subconsulta.

Haciendo directo from facturas_detalle y voy agregando los join es rápido
pero solo me trae la zona que tienen ventas y yo necesito que me traiga
todas las zonas por mas q no tenga venta

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Anthony 2012-02-03 17:16:26 Re: Consulta con Subselect
Previous Message carlos.perez 2012-02-03 14:12:28 RE: Leer una tabla en Oracle desde Postgres