我有两张桌子 table1 和 table2 我正在做一些更改,我意识到不需要 table2 ,但是这个表已经有很多数据了,我需要从传递 ID_B 的值table2 到 table1 。
这是结构:
ID_table1 | ID_table2 | ID_B
1 | 1 |
2 | 3 |
3 | 1 |
4 | 2 |
ID_table2 | ID_B
1 | 14
2 | 26
3 | 26
所以我想要的是当 ID_table2 table2 中的 ID_B 值传递给 table1 > table1 等于 table2 上的 ID_table2 。
例如, table1 中 ID_table1 为1的行将具有 ID_B = 14。
你能帮我解决这个问题吗? 提前谢谢,米格尔。
答案 0 :(得分:1)
使用JOIN,你可以这样做。
update table1 t1
inner join
table2 t2 on t2.ID_table2 = t1.ID_table2
set t1.ID_B = t2.ID_B
<强> DEMO 强>
答案 1 :(得分:0)
你可以这样试试:
UPDATE
table1 AS target,
(SELECT ID_table2, ID_B FROM table2) AS source
SET
target.ID_B = source.ID_B
WHERE
target.ID_TABLE2 = source.ID_table2