2014-03-29 54 views
0

我无法完全找到答案,所以我很抱歉,如果它已被回答。如何根据另一个表中的列乘以列中的所有值?

说我有两个表:

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%,吧),但我想只修改其名称=“狗”的那些只要。

我想这样的事情对我的代码:

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

也许这样的事情?

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