使用来自另一个表匹配的数据更新表

时间:2013-12-19 18:57:37

标签: mysql sql

所以我有这两张桌子。

table1
+----+---------+
| id | type_id |
+----+---------+
|  1 |       1 |
+----+---------+
|  2 |      12 |
+----+---------+

table2
+----+-----------+---------+
| id | table1_id | type_id |
+----+-----------+---------+
|  5 |         1 |       0 |
+----+-----------+---------+
|  6 |         2 |       0 |
+----+-----------+---------+

我希望使用table1.type_id中的值使用table1中的id作为参考点来更新table2.type_id。

我无法围绕如何做到这一点。

2 个答案:

答案 0 :(得分:3)

UPDATE table2
SET type_id = a.type_id
FROM table2 b
    JOIN table1 a ON a.id = b.table_id

此声明将正确利用table2JOIN中的数据,以便从tablea获取值。

答案 1 :(得分:1)

UPDATE T2
 SET table1_id = T1.type_id
FROM table2 AS T2
JOIN table1 AS T1
  ON T1.id = T2.table1_id