У меня есть таблица с диапазонами недель (номер недели, дата начала, дата окончания) и таблица с датами обучения (для написания репетиторов (ID преподавателя, tutorial_date, тип учебника (A или B)).
Я хочу создать два запроса, которые показывают диапазоны недель (неделя 1, неделя 2) в верхней части с именами преподавателей сбоку с количеством учебных пособий (типа «А») в диапазоне дат этой недели в каждом блоке. за эту неделю.
Результат должен выглядеть следующим образом:
Количество учебных пособий типа "А"
Tutor|Week One|Week Two|Week Three|Week Four|Total
Joe | 3 | 5 | 7 | 8 | 23
Sam | 2 | 4 | 3 | 8 | 17
Это означает, что Джо завершил 3 урока на первой неделе, пять на второй неделе, 7 на третьей неделе и 8 на неделе 4.
Во втором запросе должны быть показаны итоги для типа учебника "A" и типа "B"
Tutor|Week One|Week Two|Week Three|Week Four|Total |
Joe | 3/1 | 5/3 | 7/2 | 8/2 | 23/8 |
Sam | 2/3 | 4/4 | 3/2 | 8/3 | 17/12 |
Здесь, на первой неделе, Джо провел 3 урока типа A и 1 типа B.
Пример таблицы данных для учебных пособий (первая неделя)
Tutor | Tutorial_ID | Tutorial Date |Type|
------------------------------------------
Joe | 1 | 2011-01-01 | A |
Joe | 2 | 2011-01-02 | A |
Joe | 3 | 2011-01-03 | A |
Joe | 4 | 2011-01-03 | B |
Sam | 5 | 2011-01-01 | A |
Sam | 6 | 2011-01-02 | A |
Sam | 7 | 2011-01-03 | B |
Таблица недели выглядит следующим образом:
weekNumber |startDate |endDate
1 |2011-01-01|2011-01-15
Я хотел бы сделать это в SQL Server 2005