假设我有一组记录,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;
fromPostgres语法不同,因为它使用set. ANSI 标准语法应该适用于两个数据库:
update SetOfRecords
set email = (select max(email) from users u where SetOfRecords.user_id = u.id);