我遇到了以下问题。我有两个表,想将一列数据移动到另一个表。
桌子是房子和门。我想将列数据"街道"移动到房子。但是房子有多扇门(house_id相同(。所以我需要聚合它们,并希望从最新的"created_at"记录中获取"街道"输入。
情况
我的第一个尝试是:
insert into house h ('street')
select street
from door d
where d.house_id = h.id
group by house_id
having max(created_at)
我怀疑您实际上想要一个update
查询,以在house
中的现有行上设置street
的值。
一个选项是带有行限制子句的相关子查询:
update house
set street = (
select d.street
from door d
where d.house_id = house.id
order by created_at desc
limit 1
)
limit
语法因数据库而异 - 但(几乎(都具有等效的功能。