Du kan prøve dette:
FROM workdone
LEFT JOIN staffcost ON workdone.date >= MAKEDATE(staffcost.costyear, 1)
AND workdone.date < MAKEDATE(staffcost.costyear+1, 1)
Dette vil tillade brugen af et indeks på workdone.date for at søge efter datoer mellem den første dag i costyear indtil men ikke inklusive den første dag i costyear+1 .
Generelt kan denne form for områdesøgning udnytte indekser, hvor funktioner (såsom YEAR(datestamp) ) kan ikke.