我有一个带有名为email的列的用户表和一个名为enabled的列。我希望找到所有使用相同电子邮件的用户。如果其中一个用户启用为nil,我想将该用户的登录重置为其名字(另一列)。注意:最多应有两个用户共享电子邮件。
我刚刚开始学习SQL。我如何使这个查询工作?我很感激耐心!
update users
set users.login = users.first_name
from users u1 inner join users u2
on u1.email = u2.email
where u1.id != u2.id
and u2.enabled is null
我的RDBMS是MySQL!
答案 0 :(得分:0)
如果您正在使用MySQL
,那么
update users u1
join users u2 on
u1.email = u2.email and u1.enable is null
set u1.login = u1.first_name