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

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

pgsql-es-ayuda by date

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

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