Pivot sous sqlServer 2005? Hérésie ou Parjure?
Bonjour à tous,
Je cherche à faire très précisement ce que l'instruction PIVOT fait sous sql serveur 2005. Or j ai pu lire ca et là que l utilisation de pivot etait une hérésie.
Mais ce que je ne comprends pas, c'est pourquoi le serveur Sql ne serait pas le bon endroit poiur faire ce traitement sur les données. Je cherche en effet à regrouper des données pour faire des stats avec un composant dot net qui fait des graphiques, et je ne vois pas le gain que cela me procurerait de faire cette transposition frd fonnées en code c#.
Merci d'avance pour vos lumières,
EDIT : Apres lectures de quelques echauffourées sur ce meme sujet, j ai compris.
Fonction PIVOT & SQL Serveur.
Bonjour,
La fonction PIVOT de SQL Serveur 2005 dans son utilisation classique a un inconvénient majeur : les noms des colonnes sont "figés" dans l'écriture de la requête. C'est handicapant pour un site web dynamique.
Le seul intérêt que je vois à l'utilisation "classique" de la fonction PIVOT est pour une application de Business intelligence avec reporting services.
Quelques solutions pour résoudre ce problème.
1 Coder en C# la transposition ligne/colonne en assurant un dynamisme du processus. C'est la solution professionnelle que j'ai choisie.
2 Une solution que j'ai envisagée mais que je n'ai pas mise en pratique, faute de temps et de connaissance des procedures .net sous sql serveur 2005, c'est de créer une procédure stockée C# qui fournit une table de données formatée directement à l'application .net en s'appuyant en entrée sur les données SQL. C'est la solution de geek que je propose.
Autres pistes :
1 Fadace propose un tutorial pour sql serveur 2000 et 2005 sur son site developpez.com spécifiquement sur la dynamisation de la fonction PIVOT.
Je n'ai pas suivi cette piste.:cry:
2 Crystal Report for Visual Studio 2005 propose des tableaux croisées dynamiques à partir d'une table de données. L'inconvénient, c'est un peu lourd à mettre en place, il faut patcher les serveurs de prod.:evilred: