我有董事根据助手是否工作而向其支付报酬。
有2个观点如下:-
导向器
Name TimeIn TimeOut
Bob 2012-07-17 07:00:00.000 2012-07-17 16:00:00.000
Sam 2012-07-17 10:00:00.000 2012-07-17 20:00:00.000
Beatly 2012-07-17 14:00:00.000 2012-07-17 23:00:00.000
Mac 2012-07-17 21:00:00.000 2012-07-18 07:00:00.000
帮手
Name TimeIn TimeOut
Fred 2012-07-17 15:59:00.000 2012-07-18 00:19:00.000
现在弄清楚谁在那段时间工作并不是困难的部分,或者至少这不是我遇到问题的部分。什么是找到最小的时间和时间以及由谁重叠。并按使用的时间将它们组合在一起。因为他们都会和抄写员分摊每小时的工资。所以理想情况下,结果如下。
DirName HelperStart HelperEnd
Bob 2012-07-17 15:59:00.000 2012-07-17 16:00:00.000
Sam 2012-07-17 15:59:00.000 2012-07-17 16:00:00.000
Beatly 2012-07-17 15:59:00.000 2012-07-17 16:00:00.000
Sam 2012-07-17 16:01:00.000 2012-07-17 20:00:00.000
Beatly 2012-07-17 16:01:00.000 2012-07-17 20:00:00.000
Beatly 2012-07-17 20:01:00.000 2012-07-17 21:00:00.000
Beatly 2012-07-17 21:01:00.000 2012-07-17 23:00:00.000
Mac 2012-07-17 21:01:00.000 2012-07-17 23:00:00.000
Mac 2012-07-17 23:01:00.000 2012-07-18 00:19:00.000
使用SQL server 2008。我希望简单的简单分解就足够了。找到足够多的查询来查看是否有人与时间冲突,但没有细分上述内容。