Hive 从配置单元中的同一列提取连接

Hive 从配置单元中的同一列提取连接,hive,hiveql,Hive,Hiveql,我需要从另一个表的单个列中获得不同的数据 假设我有一个选项卡,下面有几列。 TAB_B有一列 我的预期产出应该是, 这里col_x应该有代码(TAB_B)=“08”时的数据 和 当代码(选项卡B)=“36”时,列应具有数据 我试过的都不管用 SELECT a.col1, a.col2, a.col3, a.col4, substr(a.col5,13,3) as col_x, substr(a.col5,13,3) as col_y from TAB_A a JOIN TAB_

我需要从另一个表的单个列中获得不同的数据

假设我有一个选项卡,下面有几列。

TAB_B有一列

我的预期产出应该是,

这里col_x应该有代码(TAB_B)=“08”时的数据 和 当代码(选项卡B)=“36”时,列应具有数据

我试过的都不管用

SELECT 
a.col1, 
a.col2, 
a.col3, 
a.col4, 
substr(a.col5,13,3) as col_x,
substr(a.col5,13,3) as col_y
from TAB_A a 
JOIN TAB_B b on b.code = '08'
JOIN TAB_B b on b.code = '36'

任何人都可以提出最好的解决方案。

您的要求不太清楚,但似乎您正在寻找交叉连接和case when子句

SELECT 
a.col1, 
a.col2, 
a.col3, 
a.col4, 
case when code(TAB_B) = '08' then substr(a.col5,13,3)  else null end as col_x,
case when  code(TAB_B) = '36'then substr(a.col5,13,3)  else null end as col_y,
from TAB_A a 
JOIN TAB_B 

)

你能展示一些样本数据和预期输出吗?