【发布时间】:2015-07-21 11:30:59
【问题描述】:
我的桌子是这样的
First Name Last Name Date Day Hours Project Name
Joe Smith 6/22/15 Mon 8 Project A
Joe Smith 6/23/15 Tue 11.75 Project A
Joe Smith 6/24/15 Wed 10.25 Project A
Joe Smith 6/25/15 Thu 14.25 Project B
Joe Smith 6/26/15 Fri 11.5 Project B
Joe Smith 6/27/15 Sat 9.5 Project B
Joe Smith 6/28/15 Sun 8.53 Project B
我需要据此计算每个员工和每个工作项目的正常工作时间和加班时间。
常规时间:一周内的所有工作日小时数小于或等于 40 小时 加班:工作日超过 40 小时,任何周末时间
我的结果应该是这样的
Firstname Lastname Date Day Regular OverTime Project Name
Joe Smith 6/22/15 Mon 8.00 Project A
Joe Smith 6/23/15 Tue 11.75 Project A
Joe Smith 6/24/15 Wed 10.25 Project A
Joe Smith 6/25/15 Thu 10.00 4.25 Project B
Joe Smith 6/26/15 Fri 0.00 11.50 Project B
Joe Smith 6/27/15 Sat 0.00 9.50 Project B
Joe Smith 6/28/15 Sun 0.00 8.53 Project B
--------------------------------------------------------------------
Total 40.00 33.78
我无法达到这个结果。
【问题讨论】:
-
您的 SQL 引擎支持窗口分区吗? (过分句)
-
不,不是。我不必显示总部分。只是加班和正常时间的计算
-
没有窗口功能的解决方案真的很可怕。它需要在什么 SQL 中工作?
-
微软 sql 2008 服务器
-
我们不能通过总计来做到这一点
标签: sql sql-server tsql