> -----Mensaje original-----
> De: [email protected] 
> [mailto:[email protected]] En nombre de 
> Jose Alberto Sanchez Nieto
> Enviado el: Miércoles, 07 de Abril de 2010 12:35
> Para: [email protected]
> 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,

--
TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá leerlo

Responder a