我有两个表,一个用users
,另一个用profiles
。每个表都有一个created_at
列,我想要更新profiles.created_at
,以便它与user_id
中的相应行(由users.created_at
确定)相同。
在Rails中,我可能会这样做:
Profile.update_all(created_at: {???})
尝试创建一个有效的查询,因为这是在超过一百万行上执行的。
答案 0 :(得分:1)
update profiles p
set p.created_at = (select u.created_at
from users u
where u.user_id = p.user_id
and u.created_at <> p.created_at
)