2

重複の可能性:
結合を使用した SQL 更新クエリ

表 1 には 2 つの列があります。

  • ID列があります

  • 日時列があります

表 2:

  • ID列があります

  • 日時列があります

のテーブル 1 とテーブル 2 の間の JOIN に基づいてdatetime列を更新する必要があります。table 2ID

例:

If table1.id = table2.id, 
update datetime column on table2 
with the datetime column value of table1.

これは理にかなっていますか?

どうすればこれを行うことができますか?

4

3 に答える 3

4

いくつかのオプション。相関サブクエリは機能するはずです:

UPDATE t2 SET ts = (SELECT ts FROM t1 WHERE t1.id = t2.td) WHERE ...

これは最も簡単な方法ですが、大きなセットの場合は遅くなります。もう1つの方法は、直接結合を行う方法です。これには、ベンダー固有の構文が必要です。

T-SQL:

UPDATE table1
SET col1 = t2.col1
FROM table1 t1 JOIN table2 t2 ON t1.id = t2.id

MySQL:

UPDATE table1 t1 JOIN table2 t2 ON t1.id = t2.id
SET t1.col1 = t2.col2

(経由: http: //blog.ookamikun.com/2008/03/mysql-update-with-join.html

于 2013-01-02T16:11:42.050 に答える
0

これを試して

UPDATE t2
SET t2.datetime_col = t1.datetime_col
from table1 t1 
INNER JOIN table2 t2 ON t1.id = t2.id
于 2013-01-02T16:09:16.670 に答える
0
   Update t2 Set Datetime = t1.DateTime
   From Table1 t1 Join Table2 t2 On t2.id = t1.id
于 2013-01-02T16:09:45.783 に答える