I have a table as below
Rate Effective_Date ---- -------------- 5.6 02/02/2009 5.8 05/01/2009 5.4 06/01/2009 5.8 12/01/2009 6.0 03/15/2009
It works this way:
select * from ( select top 1 * from table where effective_date <= '05/05/2009' order by effective_date desc ) as current_rate union all select * from table where effective_date > '05/05/2009'