2

SQL2008にtblEmployeeAttendanceという名前のテーブルがあります。 ここに画像の説明を入力してください

これは、次のような従業員の1日の出席のダミーデータです。

ここに画像の説明を入力してください

ここで、AIはAttendanceIn、AOはAttendanceOut、BOはBreakIn、BIはBreakOutを指します。従業員には1日に複数の行があります。最初の行はAI、最後の行はAO、その他の行はBreakIn、BreakOutになります。 BreakIn-BreakOut-BreakIn .....)を意味します。

私の期待する出力は次のようになります

ここに画像の説明を入力してください

日付ごとに1行を返し、strRemark(AI&AO)に依存するAttendanceInとAttendanceOutTimeを含む必要があるデータを返すSQLクエリが必要です。私を助けてください。

4

1 に答える 1

2
SELECT 
 intEmployeeeId,
 dteAttendanceDate as 'Attendance Date'
 min(dteAttendanceTime) as 'Attendance In'
 max(dteAttendanceTime) as 'Attendance Out'
FROM
 tblEmployeeAttendance
GROUP BY
 intEmployeeeId,
 dteAttendanceDate

時間は常に1日の反対側になるため、AIとAOのチェックはおそらく必要ありません。

于 2012-06-27T11:55:30.890 に答える