Range comparison between tables
If I understand correctly, this should give you what you're looking for.

SELECT R.*, COALESCE(RS.Rank, 0) AS Rank
FROM Runners AS R
  LEFT OUTER JOIN RaceStandards AS RS
    ON R.RaceN = RS.RaceN
    AND (
      (RS.Direction = '+' AND R.FromDist &gt;= RS.FromDist AND R.ToDist &lt;= RS.ToDist)
      OR (RS.Direction = '-' AND R.FromDist &lt;= RS.FromDist AND R.ToDist &gt;= RS.ToDist)
    )