2016-09-30 12 views
0

私はPostgreSQLのクエリを書こうとしましたが、構文が壊れています。私はそれを書いた方法を見ただけで何をしようとしているのかははっきりしていると思います。基本的に私はusersinvitationsのテーブルを持っています。パスワードがないusersについては、invitationsテーブルのメールアドレスを使用してメールアドレスを更新したいとします。一致する姓と名が一致するusersinvitationsを確認するだけで、ユーザーを探したいと思います。PostgreSQLのクエリの構文

答えて

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 
+0

は、それを別の節(編集済みの回答)として追加することができます。 – Doon

+0

今問題が発生しています。私はそれが間違っていた。私はどこにも存在しないようなものが必要です...いくつかのケースでは、招待状の表と同じ電子メールアドレスをすでに持っているが、どのような理由でも姓と名が同じではないレコードがユーザーにあります。重複した電子メールでクエリが失敗しています。私はちょうどそれらをスキップして移動したい人のために。 –