我曾尝试编写PostgreSQL查询,但我的语法搞砸了。我认为通过看到我写作的方式,我很清楚我要做的事情。基本上我有一个users
和一个invitations
表。对于没有密码的任何users
,我想使用invitations
表中的电子邮件地址更新其电子邮件地址。我想通过简单地检查具有匹配名和姓的users
和invitations
来找到用户。
UPDATE users
SET users.email = invitations.parent_email
WHERE users.encrypted_password = ''
AND invitations.first_name = users.first_name
AND invitations.last_name = users.last_name
答案 0 :(得分:0)
您应该能够在FROM字段中指定另一个表,然后以这种方式执行更新/加入。
UPDATE users
SET email = invitation.parent_email
FROM invitation
WHERE users.encrypted_password = '' AND
users.first_name = invitation.first_name AND
users.last_name = invitation.last_name AND
users.email <> invitation.parent_email