Я работаю с набором данных, который выглядит примерно так:SQL Server 2005 Pivot on Unknown Number of Columns
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
Название и количество заданий динамичны, мне нужно, чтобы получить результаты simlilar к следующему.
Student | Assignment 1 | Assignment 2 | Assignment 3 | Total -------------------------------------------------------------------- Student A | 100 | 80 | null | 180 Student B | 100 | 80 | 100 | 280
Теперь в идеале я хотел бы, чтобы отсортировать столбец, основанный на «срок», которые могут быть включены /, связанные с каждым заданием. Всего должно быть в конце концов, если это возможно (может быть вычислен и удаляются из запроса, если это возможно.)
Я знаю, как сделать это для 3-х заданий, используя стержень с просто именования столбцов, он пытается сделать это динамично, что я еще не нашел решение GOOD. Я пытаюсь сделать это на SQL Server 2005
EDIT
В идеале я хотел бы реализовать это без использования динамического SQL, так как это противоречит политике. Если это невозможно ... тогда будет работать рабочий пример с Dynamic SQL.
Cade отличный пример выглядит так, как будто мне нужно идти по этому маршруту ... – 2008-10-18 01:02:25
Спасибо за ссылку ссылки и пример! Мне просто нужно идти так, динамический SQL просто кажется настолько DIRTY, но порой нужен – 2008-10-18 01:26:35
Cade, я просто хотел еще раз поблагодарить! У меня это работает как часы, теперь на моей стороне .... – 2008-10-22 06:43:01