Sql join with three tables and multiple rows
The data upload process should assign the accurate min and max values to BMP and EMP in the Sense table(they remain approximations). I would be working on the upload process to make it more accurate. However, to put this question to rest: 

What I did to fix this was to find the min and max from the Details table and update the Sense table to match the actual range(how it should have been in the first place).
However, the problem I had was that when I use this: 


  (b.BMP+b.EMP)/2>=c.BMP and (b.BMP+b.EMP)/2&lt;=c.EMP


If the average is say 2.45 and the Sense table shows two ranges like this: 0 to 2.45 and 2.45 to 5 for the same ID then it would give me a duplicate.
So for now I changed the query to this and it works:

Select distinct *
from Runners a
left join RaceDetails b
on a.ID=b.ID
left join RaceSense c
on a.ID=c.ID
and (b.BMP+b.EMP)/2&gt;=c.BMP
and (b.BMP+b.EMP)/2&lt;c.EMP --removed = sign 


If somebody comes up with a query that would work without updating the table in the long run. I would select that answer.