SQL从另一个表中插入最新值

时间:2014-08-13 23:04:00

标签: sql postgresql insert max

我有两个PostgreSQL表,我希望将一个表中的列的最新值插入另一个表中。我尝试过这样的事情,但我无法让它发挥作用:

 INSERT INTO inland (lt_dispatch_level)
 SELECT named_lt_dispatch_level
 FROM obs
 WHERE created_at = (
 SELECT MAX(created_at) 
 FROM obs)

我需要我的inland.lt_dispatch_level =来自obs.named_lt_dispatch_level的最新值。 有没有办法只选择那个值?

1 个答案:

答案 0 :(得分:2)

由于您已明确表示要尝试更新另一列中的列,因此需要使用更新语句,而不是插入。我继续编辑答案。

试试这个:

UPDATE inland SET lt_dispatch_level = obs.named_lt_dispatch_level 
FROM obs WHERE obs.created_at = (SELECT MAX(created_at) 
FROM obs) AND inland.cartodb_id = 1

查询应该返回最新的行。