ソーステーブル:SQL ServerのPIVOTヘルプ
Create Table ExamAnswers
{
StudentID varchar(12),
QuestionID int,
Answer char(1)
}
と、これは、約500の学生のために、
Bob 1 a
Bob 2 c
...
Bob 100 b
Chris 1 c
Chris 2 d
...
Chris 100 null
などで満たされます。
Chrisは試験を終了しませんでしたが、100番目の質問はヌルとして保存されています。したがって、各生徒は正確に100行ありますが、実際の回答はnullまたは文字です。
それは任意の違いを行った場合、答えはであり、{A、B、C、D、E、F}
この設定は、実際の試験の適用のための素晴らしい作品、及びそれをマーキングすることは簡単です。
今、私は監査目的のために、私はこのようになりますテーブルを生成する必要があることを、報告義務があります。
ID 1 2 ... 100
Bob a c ... b
Chris c d ....null
だから私はPIVOT機能について読んで半日を過ごした、と私はドンそれを手に入れません。
これは、私が今まで読んだことのない最も難解なドキュメントでなければなりません。
これは、機能が必要であり、集約しています - ここで集約されるはずのものは何ですか?
これはPIVOT関数が使用されている可能性が最も単純な使い方であることがわかりました。どこでもまともなサンプルを見つけることはできません。助けて!この記事では
回答は手紙です。それはintではありません。私は手紙をAVGすることはできません。私はSUMを一つにすることはできません、私はCOUNTを望んでいません。手紙が「a」なら、私は「a」を見たいと思う。なぜこれは難しいのですか? –
ピボット句には集計関数が必要ですが、集計関数(しかし必要のないCOUNT()は数値データ型に対してのみ機能します)。 –
あなたは正しい方向に向かいました。この場合、解決策はMAXまたはMINを使用することです。 –