私は2つのテーブルを持っています:user_values
とdecrease_times
。
user_values
3つの列があります:username, property, value
およびdecrease_times
3つの列があります:property, decrease_value, decrease_time
。これらはすべて動的であり、大きく変化します。
私は1時間ごとに呼び出されるcronジョブを持っています。私がやりたいのは、fromがfromと等しい場合に、格納されている量ですべてのvalue
行をから減らすことです。user_values
decrease_value
property
user_values
property
decrease_times
また、decrease_time
0または1にすることができます。0は1時間ごとに減少する必要があることを意味し、1は24時間ごとに減少する必要があることを意味します。午前6時かどうかを検出するif句をすでに実装しており、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)