Hola, ante todo, muchas gracias por la ayuda.
tengo el siuiente problema.
tengo una tabla, que tiene estos campos 
 Código HTML:
 res_id - prop_id - fecha_in - fecha_out
 y tengo el siguiente codigo 
Código:
 SELECT * 
FROM reserva R
WHERE R.prop_id =1 AND (
'2008-01-22'
BETWEEN R.Fecha_In AND R.Fecha_Out
) OR (
'2008-01-29'
BETWEEN R.Fecha_In AND R.Fecha_Out
) OR (
R.fecha_In
BETWEEN '2008-01-22' AND '2008-01-29'
) OR (
R.fecha_out
BETWEEN '2008-01-22' AND '2008-01-29'
)
LIMIT 0 , 30
  Esto me da que prop_id tiene una fecha de las que le paso. peeero.
yo le estoy diciendo por ejemplo que me pase el prop_id que sea igual a 1 y me tira un listado de prop_id que tiene fechas validas pero no respeta que sea igual a uno. ¿por que? 
este es el listado que me da...
  
Código:
 res_id  prop_id  fecha_in  fecha_out  
      1 1 2008-01-23 2007-01-26 
      87 517 2008-01-24 2008-01-31 
      105 560 2008-01-01 2008-01-31 
      202 561 2008-01-01 2008-01-30 
      114 528 2008-01-15 2008-01-31 
      125 535 2008-01-01 2008-01-31 
      161 579 2008-01-01 2008-01-31 
      198 580 2008-01-10 2008-01-31 
      185 581 2008-01-01 2008-01-25 
      188 587 2008-01-01 2008-01-31 
      193 588 2008-01-01 2008-01-31
  y solo tendria que darme 
Código:
 res_id  prop_id  fecha_in  fecha_out  
      1 1 2008-01-23 2007-01-26
  alguien se da cuenta???
gracias!!!