mySQL查询循环中的基本数学与更新

时间:2012-10-04 12:58:25

标签: mysql

我想知道我是否可以完全在mySQL(5.1)中进行数学计算,但事实并非如此 确定这是否可行。我不是SQL的专家。

我有两张桌子。一个跟踪整体时间,一个跟踪个人时间条目。 我们的想法是根据Table2中使用的内容在Table1中保持运行总计。

表1:

UserID (INT),
TotalTime (INT)

表2:

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

我想要做的是遍历表2,其中isCalculated为false 从Table1.TotalTime中减去每个条目的Table2.TimeUsed,其中Table1.UserID = Table2.UserID。

计算完毕后,我需要将isCalculated切换为true。

这似乎可以在一个循环中完成,但我不确定mySQL中的正确语法。

感谢任何指导。

1 个答案:

答案 0 :(得分:1)

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