簡體   English   中英

為什么超時在這里不起作用,但超時在起作用?

[英]Why is the time-in is not working here but the time-out is working?

為什么超時數據在整個數據中都是相同的,但超時卻不同。 在超時中,它引用正確的行,而在超時中則不。

這是我的SQL查詢

SELECT a.emp_id
    ,d.course_code
    ,d.start_time
    ,d.end_time
    ,(
        SELECT TIME
        FROM hris_biometrics_attendance
        WHERE DATE = '2017-06-13'
            AND (TIME <= d.start_time)
            AND emp_id = a.emp_id
            AND floor = d.floor LIMIT 1
        ) AS time_in
    ,(
        SELECT TIME
        FROM hris_biometrics_attendance
        WHERE DATE = '2017-06-13'
            AND (TIME >= d.end_time)
            AND emp_id = a.emp_id
            AND floor = d.floor LIMIT 1
        ) AS time_out
FROM hris_ftl_final_courses a
    ,hris_ftl_final_courses_details d;

這是我的數據庫輸出:

emp_id | course_code | start_time | end_time | time_in | time_out 
   1   | COURSE1     | 08:00:00   | 09:00:00 | 7:59:33 | 09:05:00
   1   | COURSE2     | 10:00:00   | 12:00:00 | 7:59:33 | 12:06:00
   1   | COURSE3     | 13:30:00   | 15:00:00 | 7:59:33 | null

我希望輸入的時間小於start_time或等於start_time。 我的SQL查詢無法正常工作。

我正在使用heidisql。 MariaDB的

有人可以幫我嗎?

如果沒有ORDER BY ,則優化器可以按任意順序自由交付行。 LIMIT 1為您提供了此意外排序列表中的第一個。

ORDER BY TIME ASC添加到一個子查詢,將ORDER BY TIME DESC添加到另一個子查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM