4
当两个表中给出TSQL查找重叠时间
EMPLOYEE表
EmpID Name
1 Jon
2 Smith
3 Dana
4 Nancy
实验室表
EmpID StartTime EndTime Date LabID
1 10:00 AM 12:15 PM 01/JAN/2000 Lab I
1 11:00 AM 14:15 PM 01/JAN/2000 Lab II
1 16:30 PM 18:30 PM 01/JAN/2000 Lab I
2 10:00 AM 12:10 PM 01/JAN/2000 Lab I
从给定的细节,我必须找出重叠小时以及每个员工在每个日期不重叠的小时数。 (StartTime和EndTime的类型为varchar)。
The expected output is
-------------------------------------------------------------------------------
EmpID| Name| Overlapping | Non-Overlapping | Date
Period Period
-------------------------------------------------------------------------------
1 Jon | 10:00 AM to 12:15 PM |16:30 PM to 18:30 PM | 01/JAN/2000
| AND | |
| 11:00 AM to 14:15 PM | |
| AND ...(If any) | |
--------------------------------------------------------------------------------
2 Smith| NULL | 10:00 AM to 12:10 PM |01/JAN/2000
--------------------------------------------------------------------------------
请帮助我使用TSQL(SQL Server 2005/2008)带来这样的输出。