Mysql 如何根据另一个表中的列乘以列中的所有值?

Mysql 如何根据另一个表中的列乘以列中的所有值?,mysql,sql,Mysql,Sql,我找不到这个问题的答案,所以如果以前有人回答过,我很抱歉 假设我有两张桌子: Table 1 +--------+----+ | Number | ID | +--------+----+ | 1 | AA | | 5 | BB | | 10 | CC | | 2 | DD | | 20 | EE | +--------+----+ Table 2: +----+--------+ | ID | Name | +----+--------+ |

我找不到这个问题的答案,所以如果以前有人回答过,我很抱歉

假设我有两张桌子:

Table 1
+--------+----+
| Number | ID |
+--------+----+
|      1 | AA |
|      5 | BB |
|     10 | CC |
|      2 | DD |
|     20 | EE |
+--------+----+

Table 2:
+----+--------+
| ID |  Name  |
+----+--------+
| AA | Cat    |
| BB | Dog    |
| CC | Bird   |
| DD | Fish   |
| EE | Monkey |
+----+--------+
我想将数字列乘以一个值(例如增加50%),但我只想修改名称为'Dog'only的数字列

我在我的代码中尝试了类似的方法:

UPDATE Table1
SET number = number*1.50
FROM Table1 JOIN Table2 USING (ID)
WHERE name = 'Dog';
但它不起作用

任何形式的帮助都将不胜感激

编辑:

我似乎找到了我的答案:

UPDATE Table1
SET number = number*1.50
WHERE id IN (SELECT id FROM Table2 WHERE name = 'Dog');

谢谢:)

也许是这样的

UPDATE Table1 t1 JOIN Table2 t2 ON t1.ID=t2.ID
SET t1.number = t1.number*1.50
WHERE t2.name = 'Dog';