将多个列组合到配置单元中的单个列中

时间:2016-09-08 18:43:55

标签: mysql sql hive hiveql

我有一张表格如下所示。

Id   v1  v2  v3
 A   01  03  23
 B   11  21  05
 C   02  10  24
 D   22  14  23

这里第一列有id,它与三列有关。所以我必须将这三列合并为一个具有相关id的单个列。

例如。

id  value
A    01
A    03
A    23
B    11
B    21
B    05
.    ..
.    ..

所以我必须这样做,以便让我知道。

2 个答案:

答案 0 :(得分:3)

insert into table result_table select Id, v1 as value from orig_table;
insert into table result_table select Id, v2 as value from orig_table;
insert into table result_table select Id, v3 as value from orig_table;
select Id,value from result_table;

select Id, value 
       from orig_table LATERAL VIEW explode(array(v1,v2,v3)) orig_table_alias AS value;

答案 1 :(得分:0)

select id, v1
from table
union all
select id, v2
from table
union all
select id, v3
from table