在费率表中选择费率,值在两种货币之间 我在条件中使用子查询,但Hive不支持它们
选择r1.currency_code,r1.rate
从速率r1
其中r1.rate> =(从r2中选择r2.rate,其中r2.currency_code ='GBP')
和r1.rate <=(从r3中选择r3.rate,其中r3.currency_code ='ILS')
应选择GBP和ILS之间的汇率,但配置单元不支持该查询
答案 0 :(得分:0)
在过滤之前,使用条件聚合将gbp和il比率划分为列。
select base_currency,currency_code,rate
from (select r.*
,max(case when currency_code='GBP' then rate end) over(partition by base_currency) as gbp_rate
,max(case when currency_code='ILS' then rate end) over(partition by base_currency) as ils_rate
from rate r
where base_currency = 'USD'
) r
where rate >= gbp_rate and rate <= ils_rate