Я работаю с набором данных, который выглядит примерно так:
StudentName | AssignmentName | Grade --------------------------------------- StudentA | Assignment 1 | 100 StudentA | Assignment 2 | 80 StudentA | Total | 180 StudentB | Assignment 1 | 100 StudentB | Assignment 2 | 80 StudentB | Assignment 3 | 100 StudentB | Total | 280
Имя и количество назначений являются динамическими, мне нужно получить результаты, похожие на следующие.
Student | Assignment 1 | Assignment 2 | Assignment 3 | Total -------------------------------------------------------------------- Student A | 100 | 80 | null | 180 Student B | 100 | 80 | 100 | 280
В идеале я хотел бы отсортировать столбец на основе "даты выполнения", которая может быть включена/связана с каждым присваиванием. Общее количество должно быть в конце, если возможно (оно может быть вычислено и удалено из запроса, если это возможно.)
Я знаю, как это сделать для 3-х заданий с помощью pivot, просто называя столбцы, он пытается сделать это динамически, и я пока не нашел решение GOOD. Я пытаюсь сделать это на SQL Server 2005
ИЗМЕНИТЬ
В идеале я хотел бы реализовать это БЕЗ использования динамического SQL, поскольку это противоречит политике. Если это невозможно... тогда будет работать рабочий пример с Dynamic SQL.