1

假设我有一组记录,user_id其中一个表上有一个列,还有一个users表,两个表都有一个email列。如何UPDATE在第一个表上执行设置mytable.user_id = users.id电子邮件地址匹配的位置?

谢谢!

4

1 回答 1

3

这是一个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);
于 2013-09-08T14:44:14.727 回答