如何在sql server中每周每天显示数据行

时间:2014-11-28 06:56:56

标签: sql sql-server-2008

我有一个表,其中userid,clockInTime,clockOutTime和ClockDate存储如下

ID  BId     ClockInDateTime           ClockOutDateTime              ClockDate             UserId
6   1   2013-09-06 03:46:00.000 2013-09-06 05:46:15.000 1   2013-09-06 05:46:46.657      1
7   1   2013-09-06 01:50:19.480 2013-09-06 05:50:26.383 1   2013-09-06 05:50:19.480      2
8   1   2013-09-07 02:08:17.253 2013-09-07 06:08:21.153 1   2013-09-07 06:08:17.253      1
9   1   2013-09-07 03:46:10.300 2013-09-07 07:46:14.827 2   2013-09-07 07:46:10.300      2 
10  1   2013-09-06 03:48:16.807 2013-09-06 07:48:19.967 2   2013-09-06 07:48:16.807      3

现在我想在每个用户下面显示数据

Name        Mon     Tue     Wed         Thus        Fri         Sat         Sun        
N. Patel    8:00:40 9:00:40 10:00:40    11:00:40    12:00:40    13:00:40    14:00:40    
M. Bruell   8:00:40 9:00:40 10:00:40    11:00:40    12:00:40    13:00:40    14:00:40    

这里我希望每个用户在单行记录日,是否有任何查询而不使用游标?从userid我将获得用户名,但每天都有新的记录,但是对于一周,我希望单行日记录,每天每天的工作时间由ClokInDateTime和ClockOutDateTime,如果Shift在9之间:下午00点到早上6点,那天应该显示前3个小时,第二天应该显示其他6个小时,

0 个答案:

没有答案