J'ai une base de données de sondage avec une colonne pour chaque question et une ligne pour chaque personne qui répond. Chaque question reçoit une réponse d'une valeur de 1 à 3.En SQL, comment puis-je compter le nombre de valeurs dans une colonne, puis le faire pivoter pour que la colonne devienne la ligne?
Id Quality? Speed?
-- ------- -----
1 3 1
2 2 1
3 2 3
4 3 2
Maintenant, je dois afficher les résultats sur une seule ligne par question, avec une colonne pour chaque numéro de réponse, et la valeur de chaque colonne étant le nombre des réponses qui ont utilisé cette réponse. Enfin, j'ai besoin de calculer le score total, qui est le nombre de 1 plus deux fois le nombre de 2 plus trois fois le nombre de trois.
Question 1 2 3 Total
-------- -- -- -- -----
Quality? 0 2 2 10
Speed? 2 1 1 7
Existe-t-il un moyen de le faire en SQL basé sur un ensemble? Je sais comment le faire en utilisant des boucles en C# ou des curseurs en SQL, mais j'essaie de le faire fonctionner dans un outil de reporting qui ne supporte pas les curseurs.
Est-ce que vous voulez faire cela dans un SGBDR particulier? –
Les clés d'identification représentent-elles des questions individuelles ou des utilisateurs individuels? – Kenneth
quel outil de reporting –