Wie zu Transponieren, die ein resultset aus SQL

Ich bin mit Microsoft SQL Server 2008.

Ich habe eine Tabelle, die sieht ungefähr so aus:

|======================================================|
| RespondentId | QuestionId | AnswerValue | ColumnName | 
|======================================================|
|     P123     |      1     |     Y       | CanBathe   |
|------------------------------------------------------|
|     P123     |      2     |     3       | TimesADay  |
|------------------------------------------------------|
|     P123     |      3     |     1.00    | SoapPrice  |
|------------------------------------------------------|
|     P465     |      1     |     Y       | CanBathe   |
|------------------------------------------------------|
|     P465     |      2     |     1       | TimesADay  |
|------------------------------------------------------|
|     P465     |      3     |     0.99    | SoapPrice  |
|------------------------------------------------------|
|     P901     |      1     |     N       | CanBathe   |
|------------------------------------------------------|
|     P901     |      2     |     0       | TimesADay  |
|------------------------------------------------------|
|     P901     |      3     |     0.00    | SoapPrice  |
|------------------------------------------------------|

Ich möchte flip die Zeilen zu Spalten, so dass diese Tabelle sieht wie folgt aus:

|=================================================|
| RespondentId | CanBathe | TimesADay | SoapPrice | 
|=================================================|
|     P123     |     Y    |      3    |   1.00    | 
|-------------------------------------------------|
|     P465     |     Y    |      1    |   0.99    | 
|-------------------------------------------------|
|     P901     |     N    |      0    |   0.00    | 
|-------------------------------------------------|

(die Beispiel-Daten ist hier willkürlich aus, so dass seine dumme)

Der Quell-Tabelle ist eine temporäre Tabelle mit 70.000 Zeilen.

Was SQL würde ich schreiben müssen, das zu tun?

Update

  • Ich weiß gar nicht, ob Angelpunkt ist der richtige Weg zu gehen.
  • Ich weiß nicht, welche Spalte zu PIVOTIEREN.
  • Der Dokumentation erwähnt <aggregation function> und <column being aggregated> und ich will nicht zu aggregieren nichts.

Vielen Dank im Voraus.

  • Haben Sie sah in PIVOT? msdn.microsoft.com/en-us/library/ms177410.aspx
  • von dem, was ich gesehen habe, der PIVOT Befehl, die Sie verwenden müssen, eine Aggregatfunktion. Ich will nicht eine Aggregatfunktion, ich möchte nur, dass die Werte umgedreht werden um.
Schreibe einen Kommentar