假设我有一组记录,user_id
其中一个表上有一个列,还有一个users
表,两个表都有一个email
列。如何UPDATE
在第一个表上执行设置mytable.user_id = users.id
电子邮件地址匹配的位置?
谢谢!
假设我有一组记录,user_id
其中一个表上有一个列,还有一个users
表,两个表都有一个email
列。如何UPDATE
在第一个表上执行设置mytable.user_id = users.id
电子邮件地址匹配的位置?
谢谢!
这是一个update
与一个join
。语法因数据库而异。MySQL 的语法是:
update SetOfRecords sor join
users u
on sor.user_id = users.id
set sor.email = u.email;
from
Postgres语法不同,因为它使用set
. ANSI 标准语法应该适用于两个数据库:
update SetOfRecords
set email = (select max(email) from users u where SetOfRecords.user_id = u.id);