Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách chuyển đổi tập kết quả từ SQL

Nó bắt buộc phải sử dụng hàm tổng hợp nếu bạn sử dụng PIVOT . Tuy nhiên, vì (RespondentId, QuestionId) của bạn kết hợp là duy nhất, "nhóm" của bạn sẽ chỉ có một hàng, vì vậy bạn có thể sử dụng MIN() như một hàm tổng hợp:

SELECT RespondentId, CanBathe, TimesADay, SoapPrice
FROM (SELECT RespondentId, ColumnName, AnswerValue FROM MyTable) AS src
PIVOT (MIN(AnswerValue) FOR ColumnName IN(CanBathe, TimesADay, SoapPrice)) AS pvt

Nếu một nhóm chỉ chứa một hàng thì MIN(value) = value hay nói cách khác:hàm tổng hợp trở thành hàm nhận dạng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL chạy Biến +1 cho đến khi Biến đạt 52?

  2. Làm thế nào để ghi bằng BCP vào một SQL Server từ xa?

  3. Tại sao truy vấn T-SQL thứ 2 chạy nhanh hơn nhiều so với truy vấn đầu tiên khi được gọi bởi Reporting Services 2005 trong một ứng dụng web

  4. Tính toán chi phí trung bình có trọng số vĩnh viễn SQL Server 2008

  5. Nhận giá trị trả lại trong C # asp.net từ một thủ tục được lưu trữ (vấn đề cú pháp)