我无法找到答案,所以如果之前已经回答过,我会道歉。
说我有两张桌子:
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 |
+----+--------+
我想通过一个值对Number列进行多次处理(例如将其增加50%),但我只想修改Name ='Dog'的那些。
我为我的代码尝试了类似的东西:
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');
谢谢:)
答案 0 :(得分:0)
也许是这样的?
UPDATE Table1 t1 JOIN Table2 t2 ON t1.ID=t2.ID
SET t1.number = t1.number*1.50
WHERE t2.name = 'Dog';