配置单元sql:如何只向表中插入较新的记录?

bnlyeluc  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(574)

我有三张table。我把t1的数据插入t2和t3。我只想插入t1中比t2中已有的最新数据更新的数据。
这是我当前的select语句:

from (select *, concat(column1, '|', column2) as id from t1 
  where column1 = "value1") t
insert into table t2
  select 
  column3,
  id
insert into t3
  select 
  column4
  id

t1、t2和t3还包含timestamp类型的列“ttime”。我想修改上面的insert语句,只插入数据

where t1.ttime > max(t2.ttime)

我该怎么做?

pexxcrt2

pexxcrt21#

with subreq as (select max(time) from t2)
insert into t2 select * from t1 where t1.time>subreq.time

只需提出一个问题 with 然后,您可以引用其中的任何列以进行进一步的操作

相关问题