Hive 从配置单元中的同一列提取连接
我需要从另一个表的单个列中获得不同的数据 假设我有一个选项卡,下面有几列。 TAB_B有一列 我的预期产出应该是, 这里col_x应该有代码(TAB_B)=“08”时的数据 和 当代码(选项卡B)=“36”时,列应具有数据 我试过的都不管用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_
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
) 你能展示一些样本数据和预期输出吗?