使用 SQL Server 2000
表格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 分钟延迟状态
- 如果用户第一次迟到不扣除
- 如果用户第二次迟到,每天扣除 10% 的工资
- 如果用户第三次迟到,则每天扣除 25% 的工资
- 如果用户第 4 次迟到或超过 50% 的每日工资扣除
迟到 30 分钟到 1 小时
- 如果用户第一次迟到不扣除
- 如果用户第二次迟到,将扣除 50% 的每日工资
- 如果用户第三次迟到 100% 扣除每日工资
- 如果用户第 4 次迟到及以上,则扣除 150% 的日薪
表 2 的预期输出
4th onwards
ID Ist 2nd 3rd days Amount Deducted
001 0 10 50 2 250 310
002 0 10 10 1 100 120
输出说明
用户 001 迟到 5 次作为表 2 中的 Count(latetime)
- 第一次迟到 00:15 分钟 - 不扣分
- 第二次迟到 00:10 分钟,所以迟到时间在 01 到 29 之间,所以每天扣除 10% 的工资 第一次(01 到 29)
- 第三次迟到 00:45 分钟,所以迟到时间在 30 到 01 小时之间,所以每天扣除 50% 的工资 第一次(30 到 01)
- 第 4 次迟到 00:29 分钟,所以迟到时间在 01 到 29 之间,所以每天扣除 50% 的工资 第 2 次(01 到 29)
- 第 5 次迟到 01:00 分钟,所以迟到在 30 到 01 小时之间,所以 150 % 的每日工资扣除第 1 次(30 到 01)
如何针对上述条件创建查询?