時間報告、時給:PHP/MySQLの:私は次の表は、(簡略化)している
hours hour_rates
- user_id - user_id
- date - date
- hours - hourly_rate
時間テーブルの例は:
1 - 2012-03-19 - 8
つまり、2012においてID = 1を持つユーザ-03-19は合計8時間働いた。
人のための時給は時間的に変化することができますので、私は2番目のテーブルを持っている:
hour_ratesテーブル例
だから、ID = 1のユーザのために、我々はの時給を設定します2011年12月1日に20ドル。 2011-12-20に彼の時間単価を25ドルに変更しました。
私が欲しいのは、特定の期間(例えば、2012-01-01 - > 2012-02-01)に特定のユーザー(ex。id = 1)の支払い額を計算することです。
私はこれを単にmysql側で計算できますか? そうでない場合は、効果的なやり方は?
なぜあなたはmysql側でそれをやりたいのですか?mysqlクエリで結果を使用する必要がない場合は、コード内で計算を行う必要があります。そうでない場合はストアドプロシージャ/ファンクションを使用する – scibuff
これを少し違った方法で実行することをお勧めします。エントリを作成するときに 'hours'テーブルで使用される時間別レートのIDを追加します。 – BenOfTheNorth
@BenGriffithsこれは良い選択肢です。 –