Ich habe eine Tabelle Survey_Data_Response, die mit einer 'into in'-Anweisung aus zwei Tabellen gefüllt ist - Survey_Question und Survey_Response, sie sind auf der QuestionID verbunden.Stored Procedure Pivot-Tabelle mit einer Temp-Tabelle erstellen
Ich möchte einen SP verwenden, um die Survey_Data_Response-Tabelle zu drehen und die Ergebnisse in einer temporären Tabelle zu speichern, damit ich sie abfragen kann, um Berichte zu entwickeln.
Die Survey_Data_Response-Tabelle enthält Felder - QuestionID, ResponseID, Question, Response, ResponseDateTime, ModulID.
Die Anzahl der Fragen kann sich je nach Umfrage ändern.
QuestionID Question Response ResponseDateTime ResponseID ModuleID
123 Age 34 2011-06-06 18:21:00 ABC 123
345 Gender M 2011-06-06 18:21:00 DEF 123
567 Phone 444-4444 2011-06-06 18:21:00 HIG 123
123 Age 23 2011-06-07 12:01:00 MNO 123
789 Postal Code 90988 2011-06-07 12:01:00 XYZ 123
Ich brauche den Tisch zu schwenken, wie diese aussieht, die Fragen wie Spalten und die Antwort in dem entsprechenden Feld ein.
ResponseID Age Gender Phone Postal Code ResponsDateTime
ABC 34 M 444-4444 2011-06-06 18:21:00
XYZ 23 90988 2011-06-07 12:01:00
Ich habe viele Pivot-Abfragen in den letzten 2 Tagen ausprobiert, aber ich hatte kein Glück. Hier bin ich, es gibt die Spaltenüberschriften zurück, aber die Antworten auf die Fragen werden nicht ausgefüllt.
Kann mir jemand helfen zu verstehen, warum dieses Pivot nicht funktioniert und wie es funktioniert?
Dank
Die Herausforderung besteht darin, die Fragen sind dynamisch, sie für jede Umfrage ändern (jede Erhebung eine hat andere Modulid). Die Abfrage, die ich zur Verfügung gestellt habe, erstellt die Spalten für jede Frage. Wie bekomme ich die richtige Antwort für jede Frage? Ich schätze Ihre Hilfe. – Stan
Dies wird die Liste der Fragen dynamisch abrufen und in Ihre Spaltenüberschriften konvertieren, und die Antwort wird mit jeder Frage verknüpft. Wenn Sie dem obigen Test zusätzliche Informationen hinzufügen, sehen Sie die richtigen Antworten zur richtigen Frage – Taryn
Ja, ich sehe es jetzt. Danke Bluefuß. Ich erkannte, dass ich einige falsche Informationen zur Verfügung stellte, die ResponseID ist für jede Antwort unterschiedlich. Deshalb habe ich nicht die Ergebnisse erhalten, die ich erwartet hatte. Danke, dass du mir geholfen hast, das zu finden. Irgendwelche Vorschläge, wie sich die Abfrage ändern würde. Ich habe damit herumgespielt und laufe immer wieder in Fehler. Ich werde den Eröffnungskommentar aktualisieren. – Stan