ソース テーブル:
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 名の学生を対象としています。
Chris は試験を終了しませんでしたが、100 番目の問題は null として保存されているため、各学生が正確に 100 行を持っていることが保証されますが、実際の答えは null または文字です。
違いがある場合、答えは{a、b、c、d、e、f}にあります
このセットアップは、実際の試験アプリケーションに最適であり、採点は簡単です。
ここで、監査目的で、次のような表を作成する必要があるというレポート要件があります。
ID 1 2 ... 100
Bob a c ... b
Chris c d ....null
そこで、PIVOT 関数について半日かけて読んだのですが、よくわかりませんでした。
これは、私が今まで読んだ中で最も難解なドキュメントでなければなりません。
1 つには、集約機能が必要です。ここで集約する必要があるのは一体何なのでしょうか。
これは PIVOT 関数の最も単純な使用法であり、適切な例はどこにも見つかりません。ヘルプ!