在postgreSQL中将数据从一个表拉到另一个表

时间:2017-01-11 07:20:16

标签: postgresql sql-update

我有2张桌子

1)campaigns(campaign_id(int), last_modified(date))
2)events(resource_id(int), event_time(date))

所以我写了一个查询,从事件表中提取数据并推入单个campaign_id(755)的广告系列表

update campaign_items
set last_modified = (
        select event_time
        from events
        where request = '/campaignitem/add'
            and resource_id = 755
        order by event_time desc limit 1
        )
where id = 755

所以现在我想对广告系列表

中的所有campaign_id做同样的事情

你能否告诉我解决方案

1 个答案:

答案 0 :(得分:1)

如果我理解正确,那么您正在寻找的更新声明

我认为campaign_items.idevents.resource_id

有关
update campaign_items
set last_modified = evt.event_time
from (
    select max(event_time) event_time
        ,resource_id
    from events
    where request = '/campaignitem/add'
    group by resource_id
    ) evt
where evt.resource_id = campaign_items.id