こんにちは、私たちのシステムには以下のタイムカード構造があります。
start
上記のタイムカードから、time_in
ANDend
から比較しtime_out
、 でグループ化するレポートを生成する必要がありemp_id
ます。
上記のように表示する方法についてのヒントは素晴らしいでしょう。
こんにちは、私たちのシステムには以下のタイムカード構造があります。
start
上記のタイムカードから、time_in
ANDend
から比較しtime_out
、 でグループ化するレポートを生成する必要がありemp_id
ます。
上記のように表示する方法についてのヒントは素晴らしいでしょう。
次のクエリはその仕事をします。
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 が start/end よりも小さい可能性がある) 場合は、常に差よりも小さい値に 0 を設定する必要があります。