Hallar el Ultimo. una resolucion optima, pero no me parece la mejor. Sugerencias ?

From: Gabriel Hermes Colina Zambra <hermeszambra(at)yahoo(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Hallar el Ultimo. una resolucion optima, pero no me parece la mejor. Sugerencias ?
Date: 2007-06-30 23:27:22
Message-ID: 245183.53802.qm@web63712.mail.re1.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Con la mente embotada por el cambio de legislacion
fiscal en Uruguay y despues de dejar pronto para el
lunes instalados muchos script en la casa de mis
clientes, me vine a casa a ver una consulta con el
siguiente problema.

Tengo una tabla con cabezales, lineas de documentos y
tipo de documentos.
Mediante join necesito averiguar en los articulos de
las lineas de compras cual es la fecha maxima en el
cabezal y que ID tiene.

Hacer max(id_cab) y max(fecha) no era una solucion
valida puesto que podian no ser coinsidentes si una
compra se ingreso despues con una fecha menor.

Asi que despues de resolverlo con subconsulta y
obtener un tiempo de respuesta poco optimo lo resolvi
de esta manera.

El chequeo de resultados parece funcionar muy bien y
la velocidad de respuesta es excelente con 280000
lineas y 130000 cabezales aprox.

El tema es que lo resolvi como a continuacion lo
describo y no me termina de convencer a pesar de que
me funciona muy bien.

SELECT DISTINCT ON (documentos.id_articulo)
documentos.id_articulo,
cabezales.id_cab, max(cabezales.fecha) AS
ultima_compra
FROM ((central.cabezales JOIN central.tipo_documentos
ON
((cabezales.id_documentos =
tipo_documentos.id_documentos))) JOIN
central.documentos ON ((cabezales.id_cab =
documentos.id_cab)))
WHERE ((tipo_documentos.compras)::text = '+'::text)
GROUP BY documentos.id_articulo, cabezales.id_cab
ORDER BY documentos.id_articulo, cabezales.id_cab
DESC;

Acepto sugerencias para ver una mejor opcion, si no la
hay, igual estoy muy conforme por los resultados.
Gracias Lista.

Atte.
Gabriel Hermes Colina Zambra.

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Mario Gonzalez 2007-06-30 23:39:15 Re: Hallar el Ultimo. una resolucion optima, pero no me parece la mejor. Sugerencias ?
Previous Message Mario Gonzalez 2007-06-30 22:28:21 Re: consulta sobre unicode - Alvaro imperdonable