我有一个名为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/