Исходная таблица:
Create Table ExamAnswers
{
StudentID varchar(12),
QuestionID int,
Answer char(1)
}
и будет заполнено
Bob 1 a
Bob 2 c
...
Bob 100 b
Chris 1 c
Chris 2 d
...
Chris 100 null
и т. Д., Около 500 студентов.
Крис не закончил экзамен, но сотый вопрос сохраняется как нулевой, поэтому гарантируется, что у каждого ученика ровно 100 строк, но фактический ответ - ноль или символ.
Если это имеет какое-либо значение, ответы находятся в {a, b, c, d, e, f}
Эта настройка отлично подходит для реального экзаменационного приложения, и пометить ее тривиально.
Теперь у меня есть требование к отчетности, что для целей аудита мне нужно создать таблицу, которая выглядит следующим образом:
ID 1 2 ... 100
Bob a c ... b
Chris c d ....null
Так что я потратил полдня на чтение функции PIVOT, а я просто не понимаю.
Это должна быть самая непроницаемая документация, которую я когда-либо читал.
Во-первых, для этого требуется и функция агрегирования - какого черта я собираюсь здесь агрегировать?
Я полагаю, что это почти простейшее использование функции PIVOT, и я не могу найти достойного примера нигде. ПОМОГИТЕ!