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';