2017-06-19 22 views
0

タイムインデータがデータ全体で同じであるのはなぜですか?ただし、タイムアウトはありません。タイムアウト時に が正しいローを参照していて、タイムインがタイムアウトしていません。 タイムインはここでは機能しませんが、タイムアウトが機能しているのはなぜですか?

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 

iは、時間ではSTART_TIMEへのstart_time以下でありたい:

はここにここに私のデータベース出力である私の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; 

です。 SQL問合せが機能していません。

私はheidisqlを使用しています。 mariadb

誰かが私に助けてくれますか?

+0

誰かが私を助けることができますか? – Selle

答えて

0

ORDER BYが指定されていない場合、オプティマイザは任意の順序で行を配信できます。 LIMIT 1は、この予測不可能な順序のリストの最初のものです。

ORDER BY TIME ASCを1つのサブクエリに追加します。ORDER BY TIME DESC

関連する問題