Tôi đang sử dụng Microsoft SQL Server 2008.
Tôi có một bảng mà trông giống như sau:Làm thế nào để Transpose một resultset từ 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 |
|------------------------------------------------------|
Tôi muốn lật hàng là cột để này bảng trông như thế này:
|=================================================|
| RespondentId | CanBathe | TimesADay | SoapPrice |
|=================================================|
| P123 | Y | 3 | 1.00 |
|-------------------------------------------------|
| P465 | Y | 1 | 0.99 |
|-------------------------------------------------|
| P901 | N | 0 | 0.00 |
|-------------------------------------------------|
(dữ liệu ví dụ ở đây là tùy tiện tạo thành, quá ngớ ngẩn của nó)
Bảng nguồn là một bảng tạm thời với khoảng 70.000 hàng.
Tôi cần viết gì để thực hiện điều này?
Cập nhật
- Tôi thậm chí không biết nếu PIVOT là đúng cách để đi.
- Tôi không biết cột nào sẽ được PIVOT bật.
- Tài liệu đề cập đến
<aggregation function>
và<column being aggregated>
và tôi không muốn tổng hợp bất kỳ thứ gì.
Xin cảm ơn trước.
Bạn đã xem xét 'PIVOT' chưa? http://msdn.microsoft.com/en-us/library/ms177410.aspx –
từ những gì tôi đã thấy về lệnh 'PIVOT', bạn phải sử dụng hàm tổng hợp. Tôi không muốn một hàm tổng hợp, tôi chỉ muốn các giá trị được lật xung quanh. – funkymushroom