我想通过从多个表中选择列来将结果写入单个表。 我想在蜂巢中实现类似下面的东西。
SELECT Table0.num,Table1.field1, Table2.field2, Table3.field3, Table4.field4
FROM Table0
FULL OUTER JOIN Table1 ON Table0.num = Table1.num
FULL OUTER JOIN Table2 ON Table0.num = Table2.num
FULL OUTER JOIN Table3 ON Table0.num = Table3.num
FULL OUTER JOIN Table4 ON Table0.num = Table4.num
请建议我如何在蜂巢中实现这一目标?
当我尝试在hive中执行上述查询时,我遇到异常。
失败:ParseException行2:11无法识别选择表达式中“'Table0'上'''附近的输入
答案 0 :(得分:1)
如果我像这样创建一堆表:
create table Table0(num int, Field0 int);
create table Table1(num int, Field1 int);
create table Table2(num int, Field2 int);
create table Table3(num int, Field3 int);
create table Table4(num int, Field4 int);
然后运行你发布的查询就可以了。
OK
Time taken: 38.26 seconds
你在运行什么版本的蜂巢?在stackoverflow上发布之前是否可以修改查询?
答案 1 :(得分:0)
如果您只是从多个表中选择列而不进行聚合,则无需使用GROUP BY
。如果您不想拥有重复的行,也可以使用SELECT DISTINCT
(而不是GROUP BY
)。