J'ai la table de base de données suivante:requête SQL pour afficher les données db
Réponse
MemberID | QuestionNo | AnswerNo | AnswerString
10 | 1 | 2 | q1 anwer2
10 | 2.1 | 3 | q2.1 answer3
10 | 2.2 | 5 | q2.2 answer5
10 | 7 | 1 | q7 answer 7
11 | 1 | 3 | q1 anwer 3
11 | 3 | 1 | q3 answer 1
11 | 5 | 4 | q5 anwer 4
Chaque membre répond ensemble différent de questions basées sur les réponses des questions précédentes. Je veux montrer la réponse dans le format suivant
MemberID | 1 | 2.1 | 2.2 | 3 | 5 | 7
10 | 2 | 3 | 5 |NULL |NULL| 1
11 | 3 |NULL |NULL | 1 | 4 |NULL
Puis-je le faire que dans SQL Server 2005? Ou dois-je utiliser ASP.net pour le traiter?
Je ne pense pas que PIVOT sera en mesure de rendre les colonnes dynamiques mieux que l'instruction case. Une option consiste à générer un SQL dynamique, puis à l'exécuter. – tster
Que faire si l'utilisateur peut ajouter des questions par lui-même? Je ne peux pas coder en dur le questionno dans le sql. – Billy
J'aime l'idée d'utiliser NULL pour surmonter la virgule supplémentaire - une meilleure solution que de raccourcir la chaîne. * Fichiers à l'arrière du cerveau pour référence future * – Billious