Je travaille avec un ensemble de données qui ressemble à quelque chose comme ceci.Pivot SQL Server 2005 sur un nombre inconnu de colonnes
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
Le nom et le nombre de missions sont dynamiques, je dois obtenir des résultats simlilar à ce qui suit.
Student | Assignment 1 | Assignment 2 | Assignment 3 | Total -------------------------------------------------------------------- Student A | 100 | 80 | null | 180 Student B | 100 | 80 | 100 | 280
Maintenant, idéalement, je voudrais trier la colonne basée sur une « date d'échéance » qui pourraient être inclus/associés à chaque mission. Le total devrait être à la fin si possible (Il peut être calculé et retiré de la requête si possible.)
Je sais comment le faire pour les 3 affectations en utilisant le pivot avec simplement nommer les colonnes, il essaie de faire d'une manière dynamique que je n'ai pas trouvé une bonne solution pour l'instant. Je suis en train de le faire sur SQL Server 2005
EDIT
Idéalement je voudrais mettre en œuvre cela sans l'aide dynamique SQL, comme cela est contraire à la politique. Si ce n'est pas possible ... alors un exemple de travail avec Dynamic SQL fonctionnera.
Cade grand exemple ressemble à ce que je vais devoir faire cette route ... –
Merci pour le lien de référence et l'exemple! Je vais juste devoir aller à ce sujet de cette façon, SQL dynamique semble juste si sale, mais parfois nécessaire –
Cade, je voulais juste dire encore merci! J'ai ce travail comme sur des roulettes maintenant sur mon côté .... –