2013-07-14 80 views
3

我試圖執行UPDATE聯接查詢在MySQL加入與多行更新條件

我需要做到以下幾點:在table_1.won加入table_2.total_winnings給定會話

+++ Table_1 +++ 

--id-- --name-- --selection-- -potential_winnings-- -- won -- --session-- 
    1  John   a    67     0   1 
    2  Jame   b    10     **10**  1 
    3  David   c    43     0   1 
    4  Sam   b    20     **20**  1 
    5  Alex   b    30     **30**  1 
    6  Rob   b    1000     0   2 


+++ Table_2 +++ (BEFORE) 

--id-- --Total_winnings-- -- session -- 
    1    4534    1 
    2    885    1 
    3    0     1 
    4    5     1 
    5    10     1 
    6    5465    2 

我的期望的輸出是下面

輸入:優勝選擇= b 會話= 1

+++ Table_2 +++ (AFTER) 

--id-- --Total_winnings-- -- session -- 
    1    4534    1 
    2    **895**   1 
    3    0     1 
    4    **25**    1 
    5    **40**    1 
    6    5465    2 

我可以通過從table_1中選擇每個用戶來獲得並在table_2中循環輸入,但我現在有大量項目要處理,所以我認爲我需要somesort的一個連接來完成此操作。

目前,我正在做

UPDATE table_2 SET Total_winnings = Total_winnings + 10 WHERE id = 2 AND session = 1 

如果有人知道如何做到這一點,或有一個SQL的一個簡單的例子有加入和UPDATE查詢,這將是最有用的。我已經看到了其他的例子,但我永遠不知道它在SQL中發生了什麼!

回答

4

您正在尋找類似的產品嗎?

UPDATE table_2 
join table_1 on table_1.id = table_2.id 
SET Total_winnings = Total_winnings + won 
WHERE session = 1 and selection = 'b'