1

user_id1 つのテーブルと 1 つのテーブルに 1 つの列を持つ一連のレコードがありusers、両方のテーブルに 1 つの列があるとしemailます。UPDATE最初のテーブルでを実行してmytable.user_id = users.id、電子メール アドレスが一致する場所を設定するにはどうすればよいですか?

ありがとう!

4

1 に答える 1

3

これはupdatejoinです。構文はデータベースによって異なります。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 に答える