Я использую Microsoft SQL Server 2008.
У меня есть таблица, которая выглядит примерно так:
|======================================================|
| 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 |
|------------------------------------------------------|
Я хотел бы перевернуть строки, чтобы они были столбцами, чтобы эта таблица выглядела так:
|=================================================|
| RespondentId | CanBathe | TimesADay | SoapPrice |
|=================================================|
| P123 | Y | 3 | 1.00 |
|-------------------------------------------------|
| P465 | Y | 1 | 0.99 |
|-------------------------------------------------|
| P901 | N | 0 | 0.00 |
|-------------------------------------------------|
(данные примера здесь составлены произвольно, поэтому это глупо)
Исходная таблица представляет собой временную таблицу примерно с 70 000 строками.
Какой SQL мне нужно написать для этого?
Обновление
<функция агрегирования>
и <агрегированный столбец>
, и я не хочу ничего агрегировать. Заранее спасибо.