estoy usando Microsoft SQL Server 2008.
Tengo una tabla que se ve algo como esto:la forma de transferir un conjunto de resultados de SQL
|======================================================|
| 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 |
|------------------------------------------------------|
me gustaría pasar las filas para ser columnas para que este tabla es el siguiente:
|=================================================|
| RespondentId | CanBathe | TimesADay | SoapPrice |
|=================================================|
| P123 | Y | 3 | 1.00 |
|-------------------------------------------------|
| P465 | Y | 1 | 0.99 |
|-------------------------------------------------|
| P901 | N | 0 | 0.00 |
|-------------------------------------------------|
(los datos del ejemplo aquí se hace arbitrariamente, por lo que su tonta)
La tabla fuente es una tabla temporal con aproximadamente 70,000 filas.
¿Qué SQL necesitaría escribir para hacer esto?
actualización
- Ni siquiera sé si el pivote es la forma correcta de proceder.
- No sé en qué columna pegar PIVOT.
- La documentación menciona
<aggregation function>
y<column being aggregated>
y no quiero agregar nada.
Gracias de antemano.
¿Has mirado en 'PIVOT'? http://msdn.microsoft.com/en-us/library/ms177410.aspx –
según lo que he visto del comando 'PIVOT', debe usar una función agregada. No quiero una función agregada, solo quiero que se den vuelta los valores. – funkymushroom