让员工全力进出? [关闭]

2024-01-11

我的表如下:

id       time_stamp                 evenid    
1001    2017-09-05 09:35:00         1(in)
1002    2017-09-05 11:00:00         0(out)

我使用下面的查询,它得到但不是确切的答案。Wrong取所需日期的第二天

;WITH InOut (empId, EntryTime, ExitTime,POINTID,EVENTID,Belongs_to) as
(SELECT  emp_reader_id ,
        a1.DT ,
        ( SELECT    MIN(a2.DT)
          FROM      trnevents a2
          WHERE     a1.emp_reader_id = a2.emp_reader_id
                    AND a1.DT < a2.DT
        ),a1.DeviceSerialNumber,EVENTID,Belongs_to
FROM    trnevents a1    

)
SELECT empId ,
       EntryTime ,
       ExitTime,EVENTID, Belongs_to
         ,CONVERT( CHAR(11), '2017/12/30', 103 ) as StartDate
      ,CONVERT( CHAR(11), '2018/01/15', 103 ) as ToDate
       ,case when convert(time,dateadd(ms,DATEDIFF(SECOND, EntryTime, ExitTime)*1000,0),114) is not null
        then convert(time,dateadd(ms,DATEDIFF(SECOND, EntryTime, ExitTime)*1000,0),114) else '00:00' end as Worked FROM InOut  A  

错误的输出:第二天也会得到

   EMP_NO       INTIME                OUTTIME             DT          WORKED
    101 2018-01-08 09:11:14.000 2018-01-08 12:07:22.000 2018-01-08      02:56:08.0000000
    101 2018-01-08 12:07:22.000 2018-01-08 14:35:33.000 2018-01-08      02:28:11.0000000
    101 2018-01-08 14:35:33.000 **2018-01-09 09:14:00.000** 2018-01-08  18:38:27.0000000
    101 2018-01-09 09:14:00.000 2018-01-09 14:28:23.000 2018-01-09      05:14:23.0000000

我想要的输出:

SL# Emp# Employee Name           IN                    OUT           Worked 
2   107    Nisham M    24/Sep/2017 8:34:00AM 24/Sep/2017 10:15:00AM 01:41:00
                      24/Sep/2017 10:19:00AM 24/Sep/2017 12:20:00PM 02:01:00
                      24/Sep/2017 12:25:00PM 24/Sep/2017 12:54:00PM 00:29:00
                        24/Sep/2017 2:13:00PM 24/Sep/2017 2:14:00PM 00:01:00
                        24/Sep/2017 2:19:00PM 24/Sep/2017 5:25:00PM 03:06:00
                        10/Oct/2017 2:00:00PM 10/Oct/2017 2:52:00PM 00:52:00
                        10/Oct/2017 3:15:00PM     NULL                -
                       11/Oct/2017 8:26:00AM 11/Oct/2017 10:29:00AM 02:03:00
                        19/Oct/2017 1:59:00PM 19/Oct/2017 5:56:00PM 03:57:00
Total Shift Hours Total Basic Hours OT Normal Hours Total Hours Worked
    210             159:20:00         00:00:00          159:20:00

我卡在这里并进行了大部分搜索,但没有得到所需的输出任何人都可以帮助


根据对于这个答案 https://stackoverflow.com/a/22592/1270789,添加:

AND DATEDIFF(DAY, a1.DT, a2.DT) = 0

To the WHERE条款应确保开始日期和结束日期在同一天,但如果有人工作到午夜之后会发生什么?此外,您的帖子表明您也将结束时间作为开始时间,因此您可以:

AND a1.EVENTID = 1 AND a2.EVENTID = 0

如果两者都不合适,请进一步描述您的问题并提供更多示例数据。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

让员工全力进出? [关闭] 的相关文章

  • 从一个sql服务器选择到另一个sql服务器?

    我想将一台服务器 Data Old S1 中的一个表 T1 在 DB1 中 中的数据选择到另一台服务器 Data Latest S2 中的另一个表 T2 在 DB2 中 中的数据 我怎样才能做到这一点 请注意服务器的命名方式 查询也应该考虑
  • T-sql、刻度、时间戳

    是否有可能在 t sql 中获得像 DateTime Ticks 这样的 C 内容 感谢帮助 您不太可能从 SQL 中获得与 DateTime Ticks 相同的精度 因为 SQL 不能以那么高的精度表达时间 SQL Server 只存储大
  • 与 FOREIGN KEY 约束冲突

    我有两张桌子 学术界 CREATE TABLE dbo R ACADEMIE ID ACADEMIE dbo IDENTIFIANT NOT NULL LC ACADEMIE CODE dbo LIBELLE COURT NOT NULL
  • SQL Server 中的派生表

    我有这两个疑问 我不知道如何将它们组合在一起来制作派生表 我假设使用第二个查询作为主查询 并在主查询的 FROM 子句中使用第一个查询 SELECT EmailAddress Orders OrderID SUM ItemPrice Qua
  • 在 C# 中将平面数据库结果集转换为分层对象集合

    我有一个数据库查询 它以平面格式返回分层数据 例如客户 订单和订单项目 只是一个例子 我的数据不同 如何将其转换为分层对象集合 即客户对象的集合 其中每个客户对象都有订单对象的集合 每个订单对象都有订单项目对象的集合 这只是循环遍历每个项目
  • ORA-01749: 您不能向自己授予/撤销权限

    我正在运行以下查询RATOR MONITORING授予引用权限的架构RATOR MONITORING CONFIGURATION SMSC GATEWAY表到RATOR MONITORING schema GRANT REFERENCES
  • 使用 Powershell SQL 将数据提取到 Excel

    我想使用 powershell 将数据从 SQL Server 提取到新的 excel 文件 对于小型数据集 我的代码可以工作 但某些表的行数超过 100 000 行 这将需要很长时间 我不在 SQl 服务器中使用该实用程序的原因是因为我想
  • 该驱动程序未配置为集成身份验证

    尝试使用以下命令将我的 Java Web 应用程序与 MS SQL 服务器连接sqljdbc41 for jdk 1 8 这是数据库连接代码 Connection connection String url jdbc sqlserver l
  • 如何对 SQL Server Express 进行实时更改

    我一直在使用 VS studio 开发一个 ASP NET Web 应用程序 我正在使用 SQL Server Express 在开发过程中 我一直在我的服务器上测试我的网络应用程序 每次我需要更新数据库时 我都会简单地删除旧数据库 位于我
  • ActiveRecord 嵌套 SELECT——我可以在没有手动 SQL 的情况下完成它吗?

    我有一张桌子 上面有 除其他外 一个名字和一个等级 我想返回所有唯一名称的集合 但对于返回的每个名称 我想选择排名最高的行 这很简单 有两个嵌套的 SELECT 语句 SELECT FROM SELECT FROM foo ORDER BY
  • 在 Doctrine DQL 中选择 count() ,并使用左连接多对多单向关系,其中用户没有关系特定组

    情况 我尝试在 DQL 中为不属于特定组的用户选择 count 标准ManyToMany之间的单向关系User and Group实体来自FOSUserBundle and SonataUserBundle 系统 Symfony 2 5 D
  • 在 SQL Server SELECT 语句中使用 CASE 时消除 NULL

    我有一份大而混乱的报告要写 它连接了 5 个表 一个表中有一列用于多个不同的值 本质上是一个 标签 列 其中标签根据用户想要使用的各种元数据的类型以创造性的方式使用 因此 我对报告的查询返回 3 个几乎相同的行 仅 标签 列有所不同 例如
  • 仅基于月份和年份的 SQL Server 日期比较

    我无法确定仅根据月份和年份比较 SQL 中的日期的最佳方法 我们根据日期进行计算 由于计费是按月进行的 因此该月的日期会造成更多障碍 例如 DECLARE date1 DATETIME CAST 6 15 2014 AS DATETIME
  • 使用 LIMIT/OFFSET 运行查询并获取总行数

    出于分页目的 我需要使用以下命令运行查询LIMIT and OFFSET条款 但我还需要计算该查询将返回的行数 而不需要LIMIT and OFFSET条款 我想运行 SELECT FROM table WHERE whatever ORD
  • 将 5 gig 文件导入表时出错

    我正在尝试批量插入表 use SalesDWH go BULK INSERT dbo npi FROM S tmp npi csv WITH FIELDTERMINATOR ROWTERMINATOR n lastrow 200 first
  • 关系代数 - 笛卡尔积与自然连接?

    我正在准备考试 但未能找到一个可靠的标准来确定笛卡尔积是否x要使用或者如果自然连接 X 是要使用的 我想出了一个粗略的指南 如果您需要投影与要连接的表中的属性同名的属性 则必须使用x并说明要投影的表名称 tableA colname1 ta
  • PLSQL 中的时区转换

    我需要将系统日期和时间转换为特定时区 例如东部时间 我无法假设我当前的时区 如何在plsql中转换它 请帮我 假设你有一个TIMESTAMP WITH TIME ZONE 例如systimestamp 您可以使用AT TIME ZONE句法
  • 数据库设计1对1关系

    我的数据库设计不正确 我应该在开发过程中解决这个问题吗 假定 user 表与 userprofile 表具有 1 1 关系 然而 实际设计中 用户 表与 用户配置文件 表具有 1 关系 一切正常 但无论如何应该修复它吗 做一件事 User
  • Access 2013 SQL 中的转换和透视

    如何使用 TRANSFORM 和 PIVOT 函数从第一个表获取第二个表 TABLE 01 Config ID ConfigField ConfigValue 11 Name Basic 11 Version 1 01 11 Owner J
  • 临时表上没有外键限制? SQL Server 2008

    我知道临时表只会在 SQL Server 会话打开时存在 但为什么不能对它们进行外键限制呢 想象一下这样的场景 您创建从临时表到具体表的键的外键关系 外键关系的限制之一是您无法从临时表所依赖的键表中删除行 现在 通常当您创建外键关系时 您知

随机推荐

  • 为什么需要softmax函数?为什么不进行简单的标准化呢?

    我对深度学习不熟悉 所以这可能是一个初学者问题 根据我的理解 多层感知器中的softmax函数负责标准化和分配每个类别的概率 如果是这样 我们为什么不使用简单的标准化呢 假设我们得到一个向量x 10 3 2 1 应用softmax 输出将是
  • Request.IsAjaxRequest 在 POST 上返回 false

    我的问题类似于this one https stackoverflow com questions 1702837 request isajaxrequest returns false我遇到了类似的问题 但一个很大的区别是我使用的是 Aj
  • 如何在Python中控制string.format(bool_value)结果的长度?

    等效的方法是什么str format将布尔值转换为字符串的函数 gt gt gt 5s True True gt gt gt 5s False False 请注意其中的空格 True 这始终使 True 和 False 的长度相同 我已经检
  • 我应该在哪里存储登录数据?

    我正在创建一个小应用程序 让用户输入他的 Google 帐户名称和密码 并向他显示他的 Google 云端硬盘帐户上的可用电子表格 我想让用户能够保存以下数据 正确或错误 是否自动连接到他的帐户 Google 帐户名 电子邮件 Passwo
  • DictReader,无引号,选项卡式文件

    我有一个 csv 文件 如下所示 请注意 没有引号 制表符 t 是分隔符 标题和实际内容之间有一个空行 Facility No Testing No Name Age 252 2351 Jackrabbit Jazz 15 345 257
  • 与 Google 日历 API v3 进行未经授权的交互

    我的情况与this guy https stackoverflow com questions 10112939 login required 401 unauthorized message when calling the v3 goo
  • 获取 Firestore 子集合

    我在从以下位置获取数据时遇到问题火库具有以下结构 这是我获取类别集合的方法 var defaultStore Firestore var location DocumentSnapshot override func viewDidLoad
  • 空手道 - 有没有一种方法可以在字符串正则表达式中使用变量

    空手道 有没有一种方法可以在字符串正则表达式中使用变量 类似于下面的东西 match each productCodes regex i codes 任何替代方案或最佳实践将不胜感激 我试图从响应中获取一个字符串数组 以便每次进行匹配 一次
  • 在“VI”编辑器中对行进行排序

    如果我必须根据 左侧的值对以下行进行排序 但排序应同时将选择范围扩展到 之后的列 这就是我们不必在 之后对列进行排序 50599 1000000 50454 00000054 50080 00005464 50098 00000875 50
  • Ruby on Rails:根据数据库排序规则比较两个字符串

    我有一个单词列表 想查找数据库中已经存在的单词 我决定使用 SELECTword FROM table WHERE wordIN array of words 然后循环结果 问题是数据库排序规则 http www collat ion ch
  • f32 未实现减法?

    编译以下代码时 use std io fn main let reader stdin let nums reader lock lines next unwrap unwrap split whitespace map s s parse
  • CouchDB 全文搜索

    我需要一些有关 couchdb 中全文搜索的指导 它是否已经在 2 0 中默认启用 或者我们是否必须重建 couchdb 才能启用它 设想 它是一个文档管理系统 文档以网格形式显示 我需要能够对结果进行排序 经过从地图减少到弹性索引的几次更
  • Django 中没有 TEMPLATE_CONTEXT_PROCESSORS

    我没有TEMPLATE CONTEXT PROCESSORS在我的默认设置中 TEMPLATE CONTEXT PROCESSORS django contrib auth context processors auth django co
  • “不知道该怎么办”nvcc 致命错误

    我在 Ubuntu 终端中使用命令行 我正在尝试编译 CUDA Compiler Driver NVCC pdf 中提供的三个文件 当我使用这 3 个文件的文档给出的命令行时 我确实收到以下错误 nvcc fatal 不知道如何处理 dc
  • 如何知道站点查询字符串的所有可能参数是什么?

    我想检查任何现有网站网址的所有可能参数是什么 假设该站点正在使用参数类型查询字符串 architecture 例如不是 MVC 如下所示 http www foobar com p1 itemsPerPage 50 size 500 假设还
  • 实模式 BIOS 例程和保护模式

    我正在做一些操作系统实验 到目前为止 我的所有代码都利用实模式 BIOS 中断来操作硬盘和软盘 但是一旦我的代码启用了CPU的保护模式 所有实模式BIOS中断服务程序将不可用 如何读写硬盘和软盘 我现在需要做一些硬件驱动程序吗 我该如何开始
  • 按重叠范围对行进行分组

    我有一个数据框 其中left列是对象最左边的位置 并且right列是最右边的位置 如果对象重叠 或者它们重叠重叠的对象 递归地 我需要对它们进行分组 因此 例如 如果这是我的数据框 left right 0 0 4 1 5 8 2 10 1
  • 如何在postgres中获取该月的最后一天?

    如何在postgres中找到该月的最后一天 我有一个日期列 存储为数字 18 格式为 YYYYMMDD 我正在尝试使用它来使其约会 to date act dt YYYYMMDD AS act date 然后找到该日期的最后一天 像这样 s
  • phonegap 相机 API 在捕获图像的攻击时不会触发 SuccessCallBack 方法

    我正在使用 Phonegap API 来捕获图像 一旦我拍照并附加它 我的成功回调方法就不会被调用 这是我的实现方式 我已将 Phonegap jar 文件添加到库中 并将其添加到构建路径中 在我的主活动中 它扩展了我指定的 DroidGa
  • 让员工全力进出? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我的表如下 id time stamp evenid 1001 2017 09 05 09 35 00 1 in 1002 2017 09