Without sample data and expected output, here is a guess:WHEN matter.mrtcode = 10 THEN ( select MAX(timerate.tkrt10) FROM son_db.dbo.timerate timerate WHERE timerate.tkinit = timecard.ttk AND timerate.tkrtcur='USD' )ELSE ...
It might be faster to join to a derived table rather than use a corrilated sub-query. For example:SELECT ...FROM timecardINER JOIN ( SELECT tkinit, MAX(tkrt10) AS Maxtkrt10 FROM son_db.dbo.timerate WHERE timerate.tkrtcur='USD' GROUP BY tkinit ) AS TimeRate ON timecard.tkinit = TimeRate.tkinit...