В настоящее время я отчаянно пытаюсь объединить два стола. Но обычно, когда вы хотите объединить две таблицы, они объединяются, только если сами значения равны с обеих сторон. Я ищу соединение, которое присоединяется, если значение находится в пределах интервала. Позвольте мне объяснить:
У меня есть эти таблицы:
inscription(studentNumber, note)
thresVal(threshold, value)
табличная надпись выглядит примерно так:
studentNumber | note
--------------+------
123 | 78
456 | 65
789 | 52
012 | 90
345 | 37
и tresVal
выглядит так:
treshold | value
----------+--------
90 | 4.3
85 | 4
80 | 3.7
77 | 3.3
73 | 3
70 | 2.7
65 | 2.3
60 | 2
57 | 1.7
54 | 1.3
50 | 1
35 | 0.5
0 | 0
Теперь мне нужно объединение, которое проверяет, в каком диапазоне находится заметка учащегося, и соответственно добавляет строку «значение», например:
studentNumber | note | value
--------------+-------
123 | 78 | 3.3
456 | 65 | 2.3
789 | 52 | 1
012 | 90 | 4.3
345 | 37 | 0.5
Как видите диапазон находится между значением строки и его предшественником. нота 65 больше или равна порогу 65, поэтому ее значение должно быть 2,3. Все заметки от 65 до 69 должны иметь значение 2,3 и т. Д.
Я просто не могу придумать что-то хорошее в этой проблеме, все, что я могу придумать, это жестко прописать каждую возможность, одну за другой. другой, но должен быть более простой ответ.