Gracias, me estaba dando vueltas y era harto mas obvio.

El 14 de junio de 2016, 16:17, Hellmuth Vargas <hiv...@gmail.com> escribió:

> Hola Lista
>
> Lo genere con la siguiente sentencia:
>
> SELECT a.key,a.hora max(b.hora) AS hora_anterior
> FROM
> (VALUES (1,'21:15'::time),(1,'20:17'::time),(1,'22:15'::time)) AS
> a(key,hora)
> JOIN
> (VALUES
> (1,'20:15'::time),(1,'20:16'::time),(1,'21:16'::time),(1,'22:16'::time),(1,'23:16'::time))
> AS b(key,hora) ON  a.key=b.key AND a.hora>b.hora
> GROUP BY 1,2
> ORDER BY  1,2
>
>
>
>
> El 14 de junio de 2016, 15:03, Maximiliano Riffo<maxrif...@gmail.com>
> escribió:
>
>> Hola estimados, tengo una consulta. Lo que sucede es que tengo dos tablas
>> ambas tienen un key y una fecha, entonces lo que debo hacer es traer la
>> fecha mas cercana de la otra tabla
>> Ejemplo
>> tabla b
>> key hora
>> 1 20:15
>> 1 20:16
>> 1 21:16
>> 1 22:16
>> 1 23:16
>> tabla a
>> key hora
>> 1 21:15
>> 1 20:17
>> 1 22:15
>> resultado
>> a.key a.hora b.hora anterior
>> 1 21:45 21:16
>> 1 20:30 20:16
>> 1 22:18 22:16
>> Para cada registro de la tabla a obtengo la fecha mas cercana anterior de
>> la tabla b y que tengan el mismo key.
>> Estoy tratando con windows funtions, pero hay algo en lo que fallo. ¿
>> Esta bien que las utilice o existe algo mejor ?.
>>
>> Las tablas tiene aproximadamente 1 millon de registros cada una.
>> Si tuvieran alguna sugerencia.
>>
>> Saludos y gracias
>>
>> --
>> Max
>>
>>
>
>
> --
> Cordialmente,
>
> Ing. Hellmuth I. Vargas S.
> Esp. Telemática y Negocios por Internet
> Oracle Database 10g Administrator Certified Associate
> EnterpriseDB Certified PostgreSQL 9.3 Associate
>
>


-- 
Max

Responder a