2

可能重复:
使用连接的 SQL 更新查询

表 1 有 2 列:

  • 有一个 ID 列

  • 有一个日期时间列

表 2:

  • 有一个 ID 列

  • 有一个日期时间列

我需要根据表 1 和表 2 上的 JOIN更新datetimetable 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 ...

这是最简单的方法,但对于大型集合来说会很慢。另一种方法是直接进行连接。这需要一些稍微特定于供应商的语法:

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 回答