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

MySQL根据其他表中的值更新表列,mysql,sql-update,temp-tables,Mysql,Sql Update,Temp Tables,我必须根据其他表中的值更新表中的列值。这就是我所拥有的: 表A |----------------| |id|val| |----------------| |1 | a | |2 | b | |3 | c | |4 | a | |5 | b | |6 | c | |----------------| 临时表格B |----------------| |id|val| |----------------| |4 | a | |5 | b | |6 | c | |----------------

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

表A
|----------------|
|id|val|
|----------------|
|1 | a |
|2 | b |
|3 | c |
|4 | a |
|5 | b |
|6 | c |
|----------------|


临时表格B
|----------------|
|id|val|
|----------------|
|4 | a |
|5 | b |
|6 | c |
|----------------|


临时表格C
|----------------------------|
|id | val1 | val2 |
|----------------------------|
|h | 4 | b |
|k | 4 | e |
|n | 5 | a |
|o|6|c|
|p | 6 | d |
|q | 5 | g |
|----------------------------|


我想做的是:

对于表a中的每一行,其中(表a.id=表b.id),则
其中(table_a.val=table_c.val2)set table_a.val=table_c.id

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


有人能帮忙吗?

我相信这方面的东西会对你有用(使用)


谢谢Jamie-但是你的回答在语法上似乎不正确(我知道你说的是“类似”之类的东西”)@Jeff更新了语法。关系数据库中的语法变体太多了,我总是把它搞混。让我知道这是否有效。
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