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