A query for a latest version of data
This is easy. 

let @d be the date and @k be the kind :

select *
from table a
where 
  startdate = (select max(b.startdate) 
               from table b 
               where b.startdate &lt; @d
               and b.kind = @k)
  and a.kind = @k