将两列合并为一个单独的列

时间:2018-05-09 05:08:22

标签: sql database hive

我正在尝试在新列中合并hive中的两列,以便一列下的所有行都显示为其他列。

例如,这是我的表格:

+-------------+------------+-------------+-----------+
|maths1       |    maths2  |   physics1  |  physics2 |    
+-------------+------------+-------------+-----------+
|       10    | 20         | 30          |  40       |
+----------------------------------------------------+

这就是我想要的:

+-------------+------------+
|maths        |    physics |
+-------------+------------+
|       10    |     30     |
+--------------------------+
|       20    |     40     |
+--------------------------+

我想要一个查询。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

您想要取消数据。

试试这个:

SELECT maths1 maths, physics1 physics
FROM tableName
UNION ALL
SELECT maths2 maths, physics3 physics
FROM tableName

假设您有另一列student_id,查询将如下所示:

SELECT student_id, maths1 maths, physics1 physics
FROM tableName
UNION ALL
SELECT student_id, maths2 maths, physics3 physics
FROM tableName