2016-05-22 4 views
0

私は2つのテーブル:tableatablebを持っています。どちらもcolumna,columnb,columncという3つの列を持っています。MySQLの別のテーブルの内部結合であるテーブルのフィールドを更新するには?

は今、私はこれをしたい:tablea.columnbtableb.columnbに等しい

場合、= tableb.columnctablea.columncを設定します。私は、SQLを書いて、それはうまく動作しますが、私はこれを行うためのより良い方法があると思いますか?誰も私のSQLステートメントを最適化するために私を助けることができる、または他の方法がありますか?

UPDATE tablea ta 
SET 
ta.columnc = (
       SELECT columnc FROM tableb 
       WHERE ta.columnb = tableb.columnb 
      ) 
WHERE ta.columnb IN (
        SELECT columnb FROM tableb 
        WHERE ta.columnb = tableb.columnb 
        ) 

答えて

1

あなたはこの単純なクエリを試すことができます

Update tablea ta,table tb set ta.columnc=tb.columnc where ta.columnb =tb.columnb; 
関連する問題