╔═══════╦═══════════╦═══════╦══════╦═══════════════╗
║ EMPID ║ DATE ║ TIME ║ TYPE ║ STATUS ║
╠═══════╬═══════════╬═══════╬══════╬═══════════════╣
║ 5 ║ 2012-03-1 ║ 09:30 ║ in ║ Ontime ║
║ 5 ║ 2012-03-1 ║ 14:00 ║ out ║ Early Leaving ║
║ 6 ║ 2012-03-1 ║ 09:30 ║ in ║ Ontime ║
║ 6 ║ 2012-03-1 ║ 17:40 ║ out ║ Ontime ║
║ 7 ║ 2012-03-1 ║ 10:30 ║ in ║ LateComing ║
║ 7 ║ 2012-03-1 ║ 13:00 ║ out ║ EarlyLeaving ║
╚═══════╩═══════════╩═══════╩══════╩═══════════════╝
従業員のチェックインとチェックアウトのステータスが必要です。ステータス列の値を比較して結果を表示したい
select で case ステートメントを使用する例:
when Min(status)='Ontime' and max(status)='Ontime' then 'Present'
when Min(status)='Ontime' and max(status)='Early Leaving' then 'Left Early'
次のような最終出力が必要です。
╔═══════╦═══════════╦═══════╦══════╦═══════════════╦════════════╗
║ EMPID ║ DATE ║ TIME ║ TYPE ║ STATUS ║ DAYSTATUS ║
╠═══════╬═══════════╬═══════╬══════╬═══════════════╬════════════╣
║ 5 ║ 2012-03-1 ║ 09:30 ║ in ║ Ontime ║ ║
║ 5 ║ 2012-03-1 ║ 14:00 ║ out ║ Early Leaving ║ Left Early ║
║ 6 ║ 2012-03-1 ║ 09:30 ║ in ║ Ontime ║ ║
║ 6 ║ 2012-03-1 ║ 17:40 ║ out ║ Ontime ║ present ║
║ 7 ║ 2012-03-1 ║ 10:30 ║ in ║ LateComing ║ ║
║ 7 ║ 2012-03-1 ║ 13:00 ║ out ║ EarlyLeaving ║ Absent ║
╚═══════╩═══════════╩═══════╩══════╩═══════════════╩════════════╝