[英]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.