sql—在impala脚本的insert语句中使用select查询的结果

ep6jt1vc  于 2021-07-13  发布在  Hadoop
关注(0)|答案(1)|浏览(728)

下面select语句的结果每天都会更改,但始终为1行:

select col1 from table_x;

我想在下面的insert语句中使用该结果:

insert overwrite table table_y
  select
  a.col1,
  b.col2,
  <result_of_select_statament_here>,
  a.col4
from table_y a
inner join table_z b
on a.col3 = b.col3;

有没有办法把select语句的结果放入一个变量中,然后在insert语句中使用它?
如果没有,还有别的办法吗?

p8ekf7hl

p8ekf7hl1#

您可以使用下面的解决方法。因为您不想添加新的连接条件,所以可以分两步完成。第1步-合并c.col1=a.col1上的表\uxc和表\uy并创建小表\utmp。步骤2-将表\u tmp与表\u z连接起来

create table table_tmp as 
  select
  a.col1, 
  c.col1,
  a.col4
from table_y a 
left join table_x c on c.col1 = a.col1;

insert overwrite table table_y
  select
  a.col1,
  b.col2,
  a.col1,
  a.col4
from table_tmp a
inner join table_z b on a.col3 = b.col3
;

相关问题