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: [email protected]


--
TIP 2: puedes desuscribirte de todas las listas simultáneamente
   (envía "unregister TuDirecciónDeCorreo" a [email protected])

Responder a