2014-11-14 30 views
0

我有一個循環,從每個表中選擇:一列減一列

Orders_keep_table

--------------------------------------- 
    unique_random quantity remain  
--------------------------------------- 
    12C3EDsE34e  5   5 
    sad234sadsa  7   7 

Claim_table

----------------------------- 
    unique_random quantity  
----------------------------- 
    sad234sadsa  1 

我會在這裏做的是首先檢查在兩張表中unique_random的列被填充和匹配。

如果匹配,則來自這兩個表算量的總量:

從這兩個表中,unique_random這是mathec是行bumber 2 sad234sadsa
因此,會。減去是:7-1 = 6

請在表Orders_keep_tableremain一看,裏面我想更新從76

如何計數結果?

其實我不想更新它。我想是這樣的:

 `select * from Orders_keep_table o LEFT JOIN Claim_table c on o.unique_random = c.unique_random WHERE remain = o.quantity - c.quantity;` 
+0

你到目前爲止試過了什麼? – 2014-11-14 20:30:19

+0

一點也不,因爲我目前還沒有線索。 – klaudia 2014-11-14 20:31:03

+0

你是什麼意思:*我會在這裏做什麼是首先檢查unique_random和Claim_table的列是否填充和匹配。*? – 2014-11-14 20:31:44

回答

4

你需要一個UPDATE語句JOIN。加入這兩個表將根據unique_random列找到匹配的行,然後您可以通過從這兩個表中減去Quantity列值,在remain列上執行UPDATE。

UPDATE Orders_keep_table o 
    JOIN Claim_table c ON o.unique_random = c.unique_random 
SET o.remain = o.quantity - c.quantity; 
+0

其實我不想更新它。我想要的是這樣的:'select * from Orders_keep_table o LEFT JOIN Claim_table c ON o.unique_random = c.unique_random WHERE remaining = o.quantity - c.quantity;'這是否正確? – klaudia 2014-11-14 20:46:28

+0

@klaudia,是的。繼續嘗試。 – Rahul 2014-11-14 20:50:27