我有 2 张桌子:user_values
和decrease_times
.
user_values
有 3 列:username, property, value
并且decrease_times
有 3 列:property, decrease_value, decrease_time
。所有这些都是动态的并且变化很大。
我有一个每小时都会调用一次的 cron 作业,我想要做的是减少所有value
行 fromuser_values
存储在decrease_value
if property
fromuser_values
等于property
from的数量decrease_times
。
此外,decrease_time
可以是 0 或 1,0 表示每 1 小时减少一次,1 表示每 24 小时减少一次。我已经实现了一个 if 子句来检测它是否是早上 6 点,然后如果它们是 1 或 0,它应该减少所有值。
我应该做什么查询来做到这一点?此外,这是在 PHP 中完成的。
编辑:到目前为止我所做的是:UPDATE user_values SET value = value - (SELECT decrease_value FROM decrease_times WHERE property=/* property from UPDATE clase should be here */) WHERE property=(SELECT property FROM decrease_times WHERE decrease_time=0)