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
我必须根据其他 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