2016-06-21 67 views
0

我需要首次登录最后注销为CC代理报告,我有充分的登录信息,并注销他们在转变(即注销的午餐/烟/课间等)期间执行。间隔基于报表SQL服务器

我们有以下的变化:

S.No Shift   Possible Login Possible Log Out 
1.  08 – 04  8: 07    16:05 
2.  10 – 06  10:03    18:09 
3.  04 – 00  16:08    00:02 
4.  06 – 02  18:04    02:01 
5.  00 – 08  23:57    08:04 

我有这种说法对如下收集相关信息:

Login Log Out Details

问题与本报告的是,如果我产生单日报告为20/06/2016然后我无法捕获Shift S.No的信息。 (3,4,5),因为有一天改变。

例如:

代理登录日期/时间: 20/06/2016 18:10

而且

代理注销日期/时间: 2016-06-06 02:05

我需要类似的间隔列,其中一天的起始日期为20/06/2016 03:00并且一天结束于21/06/2016 03:00如何实现此间隔?或者如果您对此报告要求有任何其他想法。

回答

0

如果我正确理解了你,根据你在那里显示的视图,你需要为所有正在处理的人提供数据,比如说,20/06/2016?如果是这样的话,我相信你可以从视图中的所有其

CAST(FirstLogin AS date) = '20160620' 

的人如果需要还包括谁开始工作19/06/2016人民和结束选择20/06/2016那么你会做同样的LastLogOut

另外,如果你把它写一个动态查询,如果你需要为昨天例如报告,你会从where子句与

替代 20/06/2016
CAST(DATEADD(day, -1, GETDATE()) AS date) 
+0

你能告诉我一个查询输出吗?或完整的语法 – BilalAhmed

+0

因此,为了模仿您的视图,我创建了一个表格并放入图像的第一行和最后一行,并在午夜后添加了另一个表格,如下所示: http://i.imgur。 com/xattnlS.png 现在从这个使用我写的你可以得到所有在你想要的日期开始的那些: http://i.imgur.com/Dm6Zt1h.png。您可以动态扩展它,以代替使用上述给定“公式”的日期。 –