我有一个名为Employee的表。在此表中,我有一个员工ID和一个员工名称。我还有另一个表叫做考勤表,其中有员工ID(FK),日期,预期时间,进入时间和时间状态。我想找到所有约翰·布朗迟到的记录。

该表如下所示:

员工表

| emp_id  | emp_name   |
| 1       | John Brown |
| 2       | Bob Marley |
| 3       | Rob West   |


出勤表:

| emp_id  | Date      | expected_time |time_in|time_status|
| 1       | 12-Sep-18 | 8:30          |8:50   |Late       |
| 2       | 12-Sep-18 | 8:30          |8:23   |On-Time    |
| 3       | 12-Sep-18 | 8:30          |8:15   |On-Time    |


结果应如下所示:

| emp_id  | emp_name   | Date       | time_in |
| 1       | John Brown | 12-Sep-18  | 8:50    |
| 1       | John Brown | 17-Sep-18  | 9:00    |
| 1       | John Brown | 27-Sep-18  | 8:47    |


您将如何在SQL查询中表达这一点。另外,我该如何检查确定延迟的时间,例如,如果通过8:00,则认为您延迟了?

最佳答案

普通SQL:

select
    e.emp_id, e.emp_name, a.Date, a.time_in
from
  employee e
  join attendance a on e.emp_id = a.emp_id
where
  a.time_status = 'Late'


假设Late是固定字符串,而不是您随机输入的内容

关于c# - SQL查询以查找人迟到的记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50862954/

10-13 07:46