Я использую приведенный ниже запрос, чтобы получить последнюю запись A и C из table_name
.
select * from
( select *,row_number() over(partition by A order by B desc) rn
from table_name
) a where rn=1
Table_name
содержит поле A, B (дата), C (int), и у меня есть другая таблица Table_NameB
с полем A, C_P, C_N (значение образца, как показано ниже)
A, C_P, C_N
1, 1, 10
2, -10, -20
3, 1, 100
Я хочу присоединиться к этой таблице и вычислить значение на лету
, если Table_Name
содержит
A,B, C
1, 2019-01-01,1000
2, 2019-02-02, -15
3, 2019-02-03, 0
Не могли бы вы помочь, как получить приведенный ниже выводприсоединившись к Table_NameB
?
результат будет
A, C, C_P, C_N
1, 1000, 1, 10, OVER <-- as 1000 > 1 > 10
2, -15, -10, -20, NORMAL <-- as -15 >-10 >-20
3, 0, 1, 100, UNDER <-- as 0 < 1 < 100