i have a table like
x
----------------------------------
| ID | MinValue | MaxValue |
----------------------------------
| 1 | 0 | 10 |
| 2 | 11 | 20 |
| 3 | 21 | 30 |
and i have a range value for example
minV = 5
maxV = 15
i want to get row who’s value matchs the range from database table
Example minV = 5 , maxV = 15 should return first and second record
Example minV = 5 , maxV = 35 should return all record
Example minV = 5 , maxV = 9 should return first record
Advertisement
Answer
I think you want:
select t.*
from t
where @minv <= t.maxvalue and
@maxv >= t.minvalue
This is the logic for overlapping intervals — basically, each “min” is less than the other’s “max”.