Here's another possibility:
select res3.id, res3.resourceid, res3.workdate, res3.quantity
from tblresource res3 inner join
(select id from tblresource res1
inner join (select resourceid, max(workdate) as 'workdate'
from tblresource
where workdate < GetDate()
...