Sql Server 2012(T-SQL)では、不在の日付の一覧を分析し、データをまとめて月ごとにまとめたデータを並べ替えたいと思います。グループ対応する月と合計時間の日付
例:ここでは
は、生データのリストの下
TimeSheetID UserID LeaveID StartDate EndDate Duration
1 779 1 01/01/2016 01/01/2016 7.5
2 779 1 02/01/2016 02/01/2016 7.5
3 779 2 03/01/2016 03/01/2016 7.5
4 1021 3 01/01/2016 02/01/2016 7.5
5 999 4 30/01/2016 30/01/2016 7.5
6 999 4 31/01/2016 31/01/2016 7.5
7 999 4 01/02/2016 01/02/2016 7.5
8 999 4 02/02/2016 02/02/2016 7.5
9 123 5 27/02/2016 28/02/2016 12
10 123 5 29/02/2016 01/03/2016 12
11 123 5 01/03/2016 02/03/2016 12
が優先出力されている、あなたはほとんどの場合、データが要約されている、しかし、日付が新しい月に陥るところていることがわかりますデータは新月グループに分離されます。
同様に、日付範囲が2日間にわたって経過すると、これは夜間シフトとして分類されるため、開始日はグループ化係数として、対応する月別のグループ化になります。
UserID LeaveID StartDate EndDate Duration
779 1 01/01/2016 02/01/2016 15
779 2 03/01/2016 03/01/2016 7.5
1021 3 01/01/2016 02/01/2016 7.5
999 4 30/01/2016 31/01/2016 15
999 4 01/01/2016 02/02/2016 15
123 5 27/02/2016 01/03/2016 24
123 5 01/03/2016 02/03/2016 12
私はそれを得ることはありませんが時間を普及していない場合。 'LeaveId' 1は' LeaveId' 5ではなく、一つの行にどのように崩壊しましたか? –
ソーステーブル行 '123 5 01/02/2016 02/03/2016 12'は正しいか、または入力ミスですか? – Searching
'Leave Id' 5は、新しい月にその不在の1つの期間として始まる1行に倒れることはできません – SoupOfStars