2012-10-04 40 views
0

我想弄清楚如果我可以在MySQL(5.1)中完全做一些數學,但不是 當然如果這是可能的。我不是SQL的專家。mySQL查詢循環中的基本數學更新

我有兩個表。一個用於跟蹤總體時間,另一個用於個人時間條目。 這個想法是基於Table2中使用的內容在Table1中保留一個運行總數。

表1:

UserID (INT), 
TotalTime (INT) 

表2:

UserID (INT), 
TimeUsed (INT), 
isCalculated (bool) 

我想要做的是遍歷表2,其中isCalculated是假的, 減去Table2.TimeUsed從表1中的每個條目.TotalTime其中Table1.UserID = Table2.UserID。

計算後,我需要將isCalculated切換爲true。

看來這可以在循環中完成,但我不確定mySQL中的正確語法。

感謝您的任何指導。

+0

什麼是您當前的mysql代碼?你究竟在哪裏卡住? – Jocelyn

+0

您加入表格進行計算,但我們需要更多信息。 – Kermit

+0

感謝代碼編輯Nelson。我的部分問題是我不知道使用mySQL的功能來做到這一點。在Delphi中,我可以使用幾個數據集和一個FOR循環來做到這一點。我被困在如何開始編寫查詢。 – Bobby

回答

1
UPDATE 
    Table1 
    JOIN Table2 ON Table1.UserID = Table2.UserID 
SET 
    Table1.TotalTime = Table1.TotalTime - Table2.TimeUsed, 
    Table2.isCalculated = TRUE 
WHERE 
    NOT Table2.isCalculated 
+0

完美,這正是我所需要的。謝謝! – Bobby