0

マーケティング会社の Web サイトを構築しています。要件に応じて、顧客が予約を行うとき。階層に基づいて、従業員間で一定額のボーナスが分配されます。予約後60日目から分配開始、24ヶ月間ボーナス付与。

テーブルは

予約

bid      book_date  
 1        2012-05-09
 2        2012-05-10 

ボーナス

bid   empid    amount
1       1        300 
1       2        400  
2       2        300
2       3        400

Is it possible to write mysql views that generates monthly bonus an employee gets for every month. I didn't find solution on how to make update with mysql view. Any hint will of great help.

4

2 に答える 2

0

入札時に内部参加し、本の日付を今日の日付と比較することによって適格なボーナスのみを含めるようにフィルタリングします。今日の日付が元の本の日付から60日未満、または24か月以上プラス60日である場合は、それを除外します。(mySQL.comにアクセスして、mySQLで日付を操作する方法について詳しく知ることができます。忘れてしまいました...)

empidとamountのみを含む複数の行が残ります。2番目のラウンドでは、「select sum(amount)from(... put your other query here ...)group by empid」を使用して、従業員ごとの合計ボーナスを取得します。

このアプローチ(そして私はどんな解決策でも)はネストされたSQLステートメントを必要とするので、その構文に慣れていない場合は、その用語を使用してgoogleまたはSOで探索できます。乾杯!

于 2012-06-16T06:05:03.350 に答える
0

ビューの代わりに、従業員IDを受け入れることでボーナスを返すmysql関数を作成することをお勧めします。

mysql関数を使用すると、ロジックとPL/SQLを作成するためのスペースが増えます。

于 2012-06-16T06:05:48.533 に答える