Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/03/2010, 09:48
cce
 
Fecha de Ingreso: junio-2009
Mensajes: 92
Antigüedad: 15 años, 5 meses
Puntos: 0
secuencia select anidadas en postgresql¿

Buenas, estoy trabajando con postgresql y necesito hacer una consulta sql un poco complicada y nose como hacer.
Tengo dos tablas: reg_personal (id, nombre, dni, nacionalidad ) y otra tabla reg_fechas (id, fecha)

Quisiera hacer una secuencia sql para postgresql que me devuelva todos los registros de la tabla reg_personal que coincidad con los registro de la tabla reg_fechas, es decir que los id de ambas tablas coicidan pero que a su vez, me busque todos los registro en funcion de un rango de fechas.

Por separado es algo asi:

para buscar por rangos de fechas:
select * from reg_fechas where cast(fecha as date) between '2010-01-01' and '2010-04-01';

De esta secuencia yo sacaria todos los id segun un rango de fechas.

Como hago para buscar todos los registros de la tabla reg_personal cuyo id coicida con los id encontrados anterior, pero de una sola vez.

Por ejemplo esta consulta solo me devuelve cuatro veces el ultimo registro que encuentra en reg_fechas:

SELECT * FROM reg_fechas LEFT OUTER JOIN reg_personal ON (id = (select id from reg_fechas where cast(fecha as date) between '2010-01-01' and '2010-04-01'));

Como hago para que me devuelva todos los registros coicidentes?...tengo qe hacer si o si dos consutlas o se puede hacer en una sola secuencia sql?

Cualquier ayuda se los agradeceria.

Muchas Gracias y Saludos.-