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

consulta realizacion de una select

From: Jose Alberto Sanchez Nieto <albertosanchez(at)hiperusera(dot)es>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: consulta realizacion de una select
Date: 2010-03-26 15:27:21
Message-ID: 4BACD259.8010505@hiperusera.es (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Hola a todos, estoy empezando con postgres y sql y me surge una duda en 
una consulta que supongo será fácil pero que me cuesta, tengo una TablaA 
y TablaB con la siguiente estructura:
TablaA                                                    TablaB
id integer primary key                        id integer primary key
valor_compra   numeric(12,2)           valor_venta numeric(12,2)
fecha Date                                             fecha Date
key integer                                           key integer

El caso es que quiero hacer una consulta que me devuelva una sola fila 
con los campos que necesito de cada tabla con las siguientes directrices:
- El campo de unión de las dos tablas es key (se pasará como parámetro 
para realizar la unión)
- Se pasará otro parámetro que será una fecha, puede que tanto la tablaA 
como la tablaB no tengan registro de esa fecha así que habría que
    recoger en ese caso el inmediatamente anterior en cada una de ellas
Tal que la select me devuelva una sóla fila con los campos de las dos 
filas encontradas en las dos tablas, algo como:
key, id,  (valor_venta / valor_compra) as margen, fecha
La unión es sencilla con:
Select a.key, a.id as codigo, (valor_venta /valor_compra) as margen, 
fecha from TablaA as a, TablaB as b
where a.key=b.key pero a partir de aquí no sé muy bien como recuperar 
las filas de la tabla A y B sabiendo que pueden no tener ningún
registro coincidente con la fecha pasada como parámetro y teniendo que 
recuperar el más cercano a él.

Muchas gracias y un saludo.
                           

-- 
José Alberto Sánchez Nieto
Responsable Dpto. Informática

Hiper Usera, S.L.
C.I.F. B85139855
Pol. Industrial Las Avenidas
Torrejón de la Calzada (Madrid)
C.P. 28991
Telf: 91 860 99 00
Fax: 91 816 00 00
email: albertosanchez(at)hiperusera(dot)es



Responses

pgsql-es-ayuda by date

Next:From: Alvaro HerreraDate: 2010-03-26 15:34:52
Subject: Re: permisos sobre triguer
Previous:From: Fernando HeviaDate: 2010-03-26 15:26:37
Subject: RE: problemas para iniciar postgres

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