基于@startdate和@enddate获得每两周一次的Payperiod网格

时间:2014-05-15 19:17:35

标签: sql sql-server sql-server-2008-r2

我有以下信息存储在表格中:

       Id Userd_Fk      CheckIn                 CheckOut          Hours         Day      Date

        12  2   2014-05-15 10:36:42.163 2014-05-15 10:36:45.250 0.0000000000    Sunday  2014-05-15
        13  3   2014-05-15 10:38:10.537 2014-05-15 10:38:39.720 0.0100000000    Monday  2014-05-15
        14  3   2014-05-15 10:39:14.947 2014-05-15 10:39:18.347 0.0000000000    Tuesday 2014-05-15
        15  2   2014-05-15 00:00:00.000 2014-05-15 11:33:20.083 11.5600000000   Wednesday   2014-05-15
        16  4   2014-05-15 11:33:22.730 2014-05-15 11:33:25.073 0.0000000000    Thursday    2014-05-15
        18  5   2014-05-15 11:42:30.497 2014-05-15 11:48:18.763 0.1000000000    Thursday    2014-05-15

表结构是:

 CheckInCheckOutId  Id
 UserId_Fk  int 
 CheckIn    datetime    
 CheckOut   datetime    
 CountHours nvarchar(50)    
 Day    nvarchar(50)    
 GetDate    date    

是否可以获得如下的gridview?如果是的话,如何实现这一目标?

     Sunday   Monday  Tuesday  Wednesday  Thursday Friday  Saturday  Sunday   Monday  Tuesday  Wednesday  Thursday Friday  Saturday 

1    5.555    6.000    6.000    6.000      6.000   6.000    6.000    6.000    6.000    6.000    6.000     6.000    6.000    6.000 
2    5.555    6.000    6.000    6.000      6.000   6.000    6.000    6.000    6.000    6.000    6.000     6.000    6.000    6.000
3    5.555    6.000    6.000    6.000      6.000   6.000    6.000    6.000    6.000    6.000    6.000     6.000    6.000    6.000
4    5.555    6.000    6.000    6.000      6.000   6.000    6.000    6.000    6.000    6.000    6.000     6.000    6.000    6.000
5    5.555    6.000    6.000    6.000      6.000   6.000    6.000    6.000    6.000    6.000    6.000     6.000    6.000    6.000

其中1,2,3 ..是UserId_Fk

SQL SERVER 2008 R2

1 个答案:

答案 0 :(得分:0)

你应该使用数据透视表。

了解更多信息,请查看以下

Create Pivoted Tables in 3 Steps

或检查此堆栈溢出问题

PIVOT on Common Table Expression

祝你好运