如何在SQL中计算分组的运行计算

时间:2016-11-19 14:29:34

标签: sql-server

我有如下记录。

Employee        DateTime         Project      HoursWorked
Ralph          10/19/16 7:00     A                   5
Ralph          10/19/16 12:00    B                   5
Ralph          10/19/16 17:00    C                   5
Betty          10/19/16 8:00     A                   9
Betty          10/20/16 9:00     A                   6
Betty          10/20/16 15:00    B                   3

我需要计算正常工作时间和工作时间。
对于每位员工,每天,按日期时间顺序,前8个小时是正常工作时间,然后是OT工时。
注意:项目不用于此计算;它解释了为什么每天可以有多个时间条目。

期望的输出:

Employee      DateTime           Project      HoursWorked              RegHrs      OTHrs
Ralph          10/19/16 7:00      A                    5                5            0
Ralph          10/19/16 12:00     B                    5                3            2
Ralph          10/19/16 17:00     C                    5                0            5
Betty          10/19/16 8:00      A                    9                8            1
Betty          10/20/16 9:00      A                    6                6            0
Betty          10/20/16 15:00     B                    3                2            1

如何编写SQL来执行此操作?我猜这需要一个光标,但我没有写这样的经验。

谢谢

0 个答案:

没有答案