2014-03-29 56 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'; 
相關問題