【问题标题】:How to Get ShiftCode base on time in and time out sql如何根据时间和超时sql获取ShiftCode
【发布时间】:2023-02-07 10:14:19
【问题描述】:

我如何根据此表自动获取 Shiftcode:

班次表:

enter image description here

员工进出生物识别技术

enter image description here

结果应该是:

enter image description here

目前要获取班次代码,计时员正在手动将其输入到系统中。

我特别尝试了很多 sql 查询 BETWEEN,但它不起作用,我希望有人能帮助我。谢谢。

【问题讨论】:

  • 首先,请以可读的文本格式(而非图像)提供表架构和示例数据。接下来包括您的尝试并详细说明“但它不起作用”。包括您的预期结果以及您尝试的实际结果,也作为可读文本。

标签: mysql sql sql-server vb.net vb6


【解决方案1】:
SELECT ISNULL(ShiftCode, 'N/A') ShiftCode, TransactionCode, TransactionDate
(SELECT ShiftCode, TransactionCode, TransactionDate
FROM SHIFTTABLE st, BIOMETRICS b  
WHERE
  TransactionFlag = 0 AND
  TransactionTime BETWEEN ShiftIn - 0.5/24.0 AND ShiftIn +0.5/24.0) clockInShift
INNER JOIN
(SELECT ShiftCode, TransactionCode 
FROM SHIFTTABLE st, BIOMETRICS b  
WHERE
  TransactionFlag = 1 AND
  TransactionTime BETWEEN ShiftOut - 0.5/24.0 AND ShiftOut +0.5/24.0) clockOutShift
ON clockInShift.ShiftCode = clockOutShift.ShiftCode AND clockInShift.TransactionCode = clockOutShift.TransactionCode

当然,这是在不知道任何不确定性或任何东西来确保它足够快或您正在寻找的时间范围的情况下。

【讨论】:

    猜你喜欢
    • 2015-01-16
    • 1970-01-01
    • 2014-09-29
    • 1970-01-01
    • 2020-04-23
    • 1970-01-01
    • 1970-01-01
    • 2011-08-13
    • 1970-01-01
    相关资源
    最近更新 更多