MySQL 根据其他 table 中的值更新 table 列

MySQL UPDATE table columns based on values in other tables

我必须根据其他 table 中的值更新 table 中的列值。这就是我所拥有的:

TABLE_A
|----------------|
|编号 |值 |
|----------------|
| 1 |一个 |
| 2 | b |
| 3 | c |
| 4 |一个 |
| 5 | b |
| 6 | c |
|----------------|


临时 TABLE_B
|----------------|
|编号 |值 |
|----------------|
| 4 |一个 |
| 5 | b |
| 6 | c |
|----------------|


临时 TABLE_C
|----------------------------|
|编号 | val1 | val2 |
|----------------------------|
| h | 4 | b |
| k | 4 | e |
| n | 5 |一个 |
| o | 6 | c |
| p | 6 | d |
|问 | 5 | g |
|----------------------------|


我想做的是:

对于 table_a 中的每一行,其中 (table_a.id = table_b.id) 然后
其中 (table_a.val = table_c.val2) 设置 table_a.val = table_c.id

我似乎无法为此编写正确的 UPDATE 语句。

有人可以帮忙吗?

我相信这些方面的内容对您有用(使用 INNER JOIN

UPDATE table_a A
    INNER JOIN table_b B ON A.id = B.id
    INNER JOIN table_c C ON A.val = C.val2
    SET A.val = C.id