在presto中使用单列针对查找表中的范围进行查找

时间:2019-08-17 07:58:05

标签: presto

我想在presto中执行查找,其中表包含我的查找列“ lookup_code”,而tableb具有要返回的范围lookup_range_description

TableA

# lookup_code  
12  
2333  
50000  

TableB

# start_,end_,lookup_range_description  
2300,4000, AverageCost1  
23300,239900, AverageCost2  
193000,193999, AverageCost3   

预期结果

# lookup_code,start_,end_,lookup_range_description  
12,''  
2333,2300,4000, AverageCost1  
50000,23300,239900, AverageCost2  

1 个答案:

答案 0 :(得分:3)

您可能希望像这样将LEFT OUTER JOIN与BETWEEN一起使用。

select 
 a.lookup_code
 ,b.start_
 ,b.end_
 ,b.lookup_range_description 
from TableA a 
left outer join TableB b 
on a.lookup_code between b.start_ and b.end_
 lookup_code | start_ |  end_  | lookup_range_description
-------------+--------+--------+--------------------------
          12 |   NULL |   NULL | NULL
        2333 |   2300 |   4000 | AverageCost1
       50000 |  23300 | 239900 | AverageCost2