MYSQL时间卡摘要

时间:2012-09-09 07:09:46

标签: mysql

您好我的系统上有以下时间卡结构。

enter image description here

从上面的考勤卡中,我需要生成一份报告,比较来自start的{​​{1}}和来自time_in的{​​{1}},然后将其归为end

enter image description here

关于如何像上面那样显示它的任何提示都会很棒。

1 个答案:

答案 0 :(得分:3)

以下查询完成了这项工作。

SELECT date, emp_id, 
    MAX(IF(event='t_in',time_in - start, 0)) AS 't1_in_diff',
    MAX(IF(event='t_out',time_out - end, 0)) AS 't1_out_diff',
    MAX(IF(event='b1_in',time_in - start, 0)) AS 'b1_in_diff',
    MAX(IF(event='b1_out',time_out - end, 0)) AS 'b1_out_diff',
FROM timecard 
GROUP BY date, emp_id; 

如果结果可能为负(time_in / time_out可能小于开始/结束),则应将0设置为始终小于差值的值。