From: | "Fernando Hevia" <fhevia(at)ip-tel(dot)com(dot)ar> |
---|---|
To: | "'Jose Alberto Sanchez Nieto'" <albertosanchez(at)hiperusera(dot)es>, <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | RE: duda en la realizacion de una consulta |
Date: | 2010-04-07 16:00:49 |
Message-ID: | 2EDA01F4F37244A1BF7B87D1D638778C@iptel.com.ar |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
> -----Mensaje original-----
> De: pgsql-es-ayuda-owner(at)postgresql(dot)org
> [mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de
> Jose Alberto Sanchez Nieto
> Enviado el: Miércoles, 07 de Abril de 2010 12:35
> Para: pgsql-es-ayuda(at)postgresql(dot)org
> Asunto: Re: [pgsql-es-ayuda] duda en la realizacion de una consulta
>
> Gracias Fernando por responder, la tabla de compras es una
> dimensión de un datawarehouse y las dimensiones siempre
> tienen "vigencia" del registro en cuestión de ahí lo de
> fecha_desde y fecha_hasta. La posibilidad que me envías
> también la realicé antes pero ahora las especificaciones que
> me han dado son que se tiene que realizar en una consulta (de
> hecho devuelvo la fila con setof record en la función), deben
> ser con una consulta ya que puede ser llamada desde una
> herramienta de reportes y ahí sólo se le puede indicar
> consultas y no funciones.
> Muchas gracias.
>
La función que te pasé la puedes adecuar para retorne un registro si ese es
el problema.
De todas maneras existe otra salida fácil aunque poco elegante:
SELECT v_key_articulo,
( -- ventas
SELECT coalesce(cantidad, 0) FROM ventas
WHERE fecha <= v_fecha
AND key_articulo = v_key_articulo
ORDER BY fecha DESC LIMIT 1
)::integer -
( -- compras
SELECT coalesce(cantidad, 0) FROM compras
WHERE v_fecha BETWEEN fecha_desde AND fecha_hasta
AND key_articulo = v_key_articulo
)::integer
Si esto tampoco es lo que estás buscando en ese caso te sugiero estudies el
full outer join:
http://www.postgresql.org/docs/8.4/interactive/queries-table-expressions.htm
l
Saludos,
From | Date | Subject | |
---|---|---|---|
Next Message | Lennin Caro | 2010-04-07 16:35:28 | Dudo sobre log_statement |
Previous Message | Fernando Hevia | 2010-04-07 15:44:50 | RE: if en una consulta |