首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HiveQL联盟

HiveQL联盟
EN

Stack Overflow用户
提问于 2012-12-31 03:02:43
回答 3查看 50.6K关注 0票数 16

我有table_A:

代码语言:javascript
复制
id var1 var2
1   a    b
2   c    d

Table_B:

代码语言:javascript
复制
id var1 var2  
3   e    f
4   g    h

我只想要桌子,加起来:

代码语言:javascript
复制
id var1 var2
1   a    b
2   c    d
3   e    f
4   g    h 

这是我的.hql:

代码语言:javascript
复制
CREATE TABLE combined AS
SELECT all.id, all.var1, all.var2
FROM (
  SELECT a.id, a.var1, a.var2  
  FROM table_A a  
  UNION ALL  
  SELECT b.id, b.var1, b.var2  
  FROM table_B b
) all;

我是从Edward等人编写的“编程蜂巢”第112页中直接编码的。

我所犯的错误,无论表面上是如何合理地改变我所尝试的上述内容,都是

cannot recognize input near '.' 'id' ',' in select expression.

我尝试在表名和别名、星号之间使用AS,因为我想要两个表中的所有内容。同样的错误。我尝试过其他的事情,也犯过别的错误.我只想做UNION两个表。(我尝试了UNION而不是UNION ALL -相同的错误)。

EN

回答 3

Stack Overflow用户

发布于 2012-12-31 13:52:49

用另一个词来代替一切。它似乎是一个保留关键字。例如:

代码语言:javascript
复制
CREATE TABLE combined AS
SELECT unioned.id, unioned.var1, unioned.var2
FROM (
  SELECT a.id, a.var1, a.var2  
  FROM table_A a  
  UNION ALL  
  SELECT b.id, b.var1, b.var2  
  from table_B b
) unioned;
票数 15
EN

Stack Overflow用户

发布于 2017-11-07 09:18:24

我有类似的查询工作。只是更改表名和列名。尝尝这个。希望这能帮到你。

代码语言:javascript
复制
create table new_table as
select
distinct
id, name
FROM
table1
union all
select
distinct
id,name
from
table2 
;
票数 2
EN

Stack Overflow用户

发布于 2019-08-14 17:54:50

试试这个,它对我有用。

代码语言:javascript
复制
CREATE TABLE combined AS
SELECT id, var1, var2
FROM (
  SELECT id, var1, var2  
  FROM table_A
  UNION ALL  
  SELECT id, var1, var2  
  from table_B
) a;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14096968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档