ник: Explorer
диапазоны должны храниться в отдельной таблице как предлагал Силыч
единственное, что, может быть, уточнил бы - поскольку диапазоны не перекрываются - достаточно хранить только одну границу и коэффициент для этой границы...
однако (как я набросал в примере)
если предполагается что дискретность равномерная (зависит от задачи) то можно не хранить диапазоны а сразу приводить значение к Sampling Rate (интервал дискретизации) диапазонов...
в приведенном примере сэмплинг рэйт равен 20 (начинается со сдвигом 10)
10-30 = [20]
30-50 = [20]
50-70 = [20]
70-90 = [20]
в примере приведено всего четыре диапазона, хотя никто не мешает продолжить
90-110 = [20]
110-130 = [20]
поэтому в формуле было предложено
прибывавить сдвиг (10) и разделить на интервал дискретизации (20)
интервал дискретизации может быть и другим он может быть даже дробным или быть меньше единицы/нуля, или быть меньше сдвига
хотя оправданным, вероятно, будут только значения = INT > 1
теперь предположим, что у вас есть отдельная таблица в которой хранятся коэффициенты для каждого из диапазонов. если эти коэффициенты (зависимость) не могут быть описаны функцией (что упростило бы расчеты) то придется их хранить отдельно как предложил Силыч
таблица вида:
tblUselessDatas
RateRange (PK INTEGER)
RateValue (ANY NUMBER)
пример данных
1 | 34.5
2 | 34.7
3 | 34.8
4 | 35.0
тогда просто пишем запрос по основной таблице
с вычислением диапазона в который попадает значение
с джойном к таблице коэффициентов по PK диапазона