表1有2列:
有ID列
有一个日期时间列
表2:
有ID列
有一个日期时间列
我需要根据datetime
上表1和表2之间的JOIN更新table 2
中的ID
列。
示例:
If table1.id = table2.id,
update datetime column on table2
with the datetime column value of table1.
这有意义吗?
我将如何做到这一点?
答案 0 :(得分: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)
答案 1 :(得分:0)
试试这个
UPDATE t2
SET t2.datetime_col = t1.datetime_col
from table1 t1
INNER JOIN table2 t2 ON t1.id = t2.id
答案 2 :(得分:0)
Update t2 Set Datetime = t1.DateTime
From Table1 t1 Join Table2 t2 On t2.id = t1.id