Essayer de trouver des exemples simples de SQL Server PIVOT. La plupart des exemples que j'ai trouvés impliquent de compter ou de résumer des nombres. Je veux juste faire pivoter certaines données de chaîne. Par exemple, j'ai une requête renvoyant ce qui suit.
Action1 VIEW
Action1 EDIT
Action2 VIEW
Action3 VIEW
Action3 EDIT
Je voudrais utiliser PIVOT (si même possible) pour obtenir les résultats comme suit:
Action1 VIEW EDIT
Action2 VIEW NULL
Action3 VIEW EDIT
Est-ce même possible avec la fonctionnalité PIVOT?
sql-server
tsql
pivot
Tim Cochran
la source
la source
Réponses:
N'oubliez pas que la fonction d'agrégation MAX fonctionnera aussi bien sur le texte que sur les nombres. Cette requête ne nécessitera qu'une seule analyse de la table.
la source
...ELSE NULL END...
place de...ELSE '' END...
?Configuration de la table:
Ta table:
SELECT action, view_edit FROM dbo.tbl
Requête sans utiliser PIVOT:
Requête utilisant PIVOT:
Les deux requêtes résultent:
la source
Si vous souhaitez spécifiquement utiliser la fonction SQL Server PIVOT, cela devrait fonctionner, en supposant que vos deux colonnes d'origine sont appelées act et cmd. (Pas si joli à regarder cependant.)
la source
À partir de http://blog.sqlauthority.com/2008/06/07/sql-server-pivot-and-unpivot-table-examples/ :
la source
Eh bien, pour votre échantillon et pour tous ceux avec un nombre limité de colonnes uniques, cela devrait le faire.
la source
la source
J'avais une situation où j'analysais des chaînes et les deux premières positions de la chaîne en question correspondaient aux noms de champ d'une norme de codage des réclamations de soins de santé. Je supprimais donc les chaînes et obtiendrais des valeurs pour F4, UR et UQ ou autres. C'était génial sur un enregistrement ou quelques enregistrements pour un utilisateur. Mais quand je voulais voir des centaines d'enregistrements et les valeurs pour tous les utilisateurs, il fallait que ce soit un PIVOT. C'était merveilleux, surtout pour exporter beaucoup de disques pour exceller. La demande de rapport spécifique que j'avais reçue était "chaque fois qu'une personne a soumis une réclamation pour Benadryl, quelle valeur a-t-elle soumise dans les champs F4, UR et UQ. J'avais une APPLICATION EXTERNE qui a créé le ColTitle et les champs de valeur ci-dessous
la source