1

出席時間をカテゴリ別に合計し、「週」別にグループ化する必要があります。「週」の開始日はその週の月曜日によって定義されますが、日曜日も有効です。カテゴリ値が「芸術」または「体育」にある場合、それらを非教育に組み合わせる必要があります。また、生徒が 120 時間に達した日にフラグを立てる必要もあります。

次のように構成されている私のテーブル:

CREATE TABLE Attendance (
    ID int,
    Category varchar(20),
    Title varchar(20),
    Date datetime,  
        Hours int, 
    )

INSERT INTO Attendance  VALUES 
(4504498,   'GED Program',  '7/1/2012', 7),
(4504498,   'GED Program',  '7/2/2012', 3),
(4504498,   'GED Program',  '7/3/2012', 3),
(4504498,   'GED Program',  '7/4/2012', 7),
(4504498,   'GED Program',  '7/5/2012', 3),
(4504498,   'GED Program',  '7/8/2012', 3),
(4504498,   'GED Program',  '7/9/2012', 7),
(4504498,   'GED Program',  '7/10/2012',7),
(4504498,   'GED Program',  '7/11/2012',3),
(4504498,   'GED Program',  '7/12/2012',3),
(4504498,   'High School',  '7/1/2012', 7),
(4504498,   'High School',  '7/2/2012', 3),
(4504498,   'High School',  '7/3/2012', 3),
(4504498,   'High School',  '7/4/2012', 3),
(4504498,   'High School',  '7/5/2012', 3),
(4504498,   'High School',  '7/8/2012', 7),
(4504498,   'High School',  '7/9/2012', 3),
(4504498,   'High School',  '7/10/2012',8),
(4504498,   'High School',  '7/11/2012',3),
(4504498,   'High School',  '7/12/2012',7),
(9201052,   'Art',  '7/15/2012',    6),
(9201052,   'Art',  '7/16/2012',    3),
(9201052,   'Art',  '7/17/2012',    7),
(9201052,   'PE',   '7/17/2012',    7),
(9201052,   'PE',   '7/18/2012',    7)

次のような最終結果が必要です。

ID  Category    Week of   Total Hours
4504498 GED Program 7/1/2012       26
4504498 GED Program 7/8/2012       23
4504498 High School     7/1/2012       19
4504498 High School     7/8/2012       28
9201052 Non Educational 7/15/2012      30

ID       Day_120_Hours_Reached
356485     6/30/2012
356485     11/15/2012
555666     10/12/2012
555666     2/25/2013

MS Sql Server を使用して日付から「週」を取り出す Week 関数の例を探していましたが、多くの情報が見つかりません。どんなフィードバックでも大歓迎です

4

1 に答える 1