SQLServer2000の使用
表1
ID Salary (Monthly) perday (salary)
001 3000 100
002 1500 50
003 4500 150
Salary
、perday
列はデータ型ですfloat
表2
ID Date Latetime (HH:mm)
001 01/02/2012 00:15
001 02/02/2012 00:10
001 03/02/2012 00:45
001 04/02/2012 00:29
001 05/02/2012 01:00
002 11/03/2012 00:02
002 12/03/2012 00:20
002 13/03/2012 00:29
002 14/03/2012 01:00
002 10/03/2012 01:30
002 10/03/2012 02:00
遅刻の件数に応じて給与額を控除したい。
調子
01〜29分遅い状態
- ユーザーが初めて遅れた場合、控除はありません
- ユーザーが2回目に遅れた場合、日給の10%控除
- ユーザーが3回目に遅れた場合、日給の25%の控除
- ユーザーが4回目に遅れ、日給の50%を超える場合
30分から1時間遅れた状態
- ユーザーが初めて遅れた場合、控除はありません
- ユーザーが2回目に遅れた場合、日給の50%控除
- ユーザーが3回目に遅れた場合、日給の100%控除
- ユーザーが4回目に遅れ、日給の150%を超える場合
table2の期待される出力
4th onwards
ID Ist 2nd 3rd days Amount Deducted
001 0 10 50 2 250 310
002 0 10 10 1 100 120
説明を出力
テーブル2からのカウント(latetime)としてユーザー001が5回遅れる
- 1回目は00:15分遅れます-控除なし
- 2回目は00:10分遅れるので、01から29の間の遅い時間なので、1日あたりの給与控除の10% '1回目(01から29)
- 3回目は00:45分遅れるので、30〜01時間遅れるので、1日あたりの給与控除額の50% '1回目(30〜01)
- 4回目は00:29分遅れ、01から29の間の遅い時間なので、1日あたりの給与控除の50% '2回目(01から29)
- 5回目は01:00分遅れ、30〜01時間遅れ、1日あたりの給与控除額の150% '1回目(30〜01)
上記の条件のクエリを作成するにはどうすればよいですか?