Получить следующий минимум, больший или равный к заданному значению для каждой группы

учитывая следующую таблицу 1:

    RefID  intVal  SomeVal
    ----------------------
        1      10    val01
        1      20    val02
        1      30    val03
        1      40    val04
        1      50    val05
        2      10    val06
        2      20    val07
        2      30    val08
        2      40    val09
        2      50    val10
        3      12    val11
        3      14    val12
        4      10    val13
        5     100    val14
        5     150    val15
        5    1000    val16

и таблицу 2, содержащую некоторые RefID и intVals, такие как

    RefID  intVal
    -------------
        1      11    
        1      28    
        2       9    
        2      50    
        2      51    
        4      11    
        5       1    
        5     150    
        5     151    

, требуется оператор SQL, чтобы получить следующее большее значение intValue для каждого RefID и NULL, если они не найдены в таблице 1. ниже ожидаемый результат

    RefID  intVal  nextGt  SomeVal 
    ------------------------------
        1      11      20  val01
        1      28      30  val03
        2       9      10  val06
        2      50      50  val10
        2      51    NULL   NULL
        4      11    NULL   NULL
        5       1     100  val14
        5     150     150  val15
        5     151    1000  val16

буду признателен за помощь!

5
задан Andriy M 2 December 2016 в 10:16
поделиться