繁体   English   中英

使用中继器按天显示打卡时间数据

[英]Using a Repeater to display time punch data by day

我是新手,所以我确定我已经完全搞清楚了如何做到这一点。 我提前道歉...

我有一个Repeater,可以输出每天的打卡时间。 数据来自具有以下结构的数据库。 当我在Repeater中输出数据时,它只会不断添加数据

有没有一种方法可以输出以下数据:

SELECT PunchId, PunchIn, PunchOut, PunchDay, WeekEnding
FROM   TimePunches
WHERE  WeekEnding = @WeekEnding

PunchId   PunchIn   PunchOut   PunchDay   WeekEnding
 1         09:00 AM  03:35 PM   2          06/07/2014
 2         08:34 AM  09:11 AM   4          06/07/2014
 3         09:11 AM  09:20 AM   4          06/07/2014
 4         09:20 AM  05:20 PM   4          06/07/2014
 5         08:33 AM  11:46 AM   5          06/07/2014
 6         12:12 PM  05:19 PM   5          06/07/2014
 7         05:25 PM  06:19 PM   5          06/07/2014
 8         07:25 PM  09:01 PM   5          06/07/2014

显示为:

Sun       Mon       Tue       Wed       Thr       Fri       Sat
          09:00 AM            08:34 AM  08:33 AM
          03:35 PM            09:11 AM  11:46 AM
                              09:11 AM  12:12 PM
                              09:20 AM  05:19 PM
                              09:20 AM  05:25 PM
                              05:10 PM  06:19 PM
                                        07:25 PM
                                        09:01 PM

目前正在这样做很不好

Sun       Mon       Tue       Wed       Thr       Fri       Sat
          09:00 AM
          03:35 PM
                              08:34 AM
                              09:11 AM
                              09:11 AM
                              09:20 AM
                              09:20 AM
                              05:10 PM
                                        08:33 AM
                                        11:46 AM
                                        12:12 PM
                                        05:19 PM
                                        05:25 PM
                                        06:19 PM
                                        07:25 PM
                                        09:01 PM

我敢肯定,有一种相当简单的方法可以做到这一点,而我只是想一想。 任何帮助都是极好的。

SELECT
  [1] Sun, [2] Mon, [3] Tue, [4] Wed, [5] Thr, [6] Fri, [7] Sat
FROM (
   SELECT
     PunchTime,
     PunchDay,
     ROW_NUMBER() OVER(PARTITION BY PunchDay ORDER BY PunchTime) RowNumber
   FROM @t
   UNPIVOT(PunchTime for PunchType in (PunchIn,PunchOut) ) t1
) t2
PIVOT(MAX(PunchTime) FOR PunchDay IN ([1],[2],[3],[4],[5],[6],[7]) ) t3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM