Tôi có một cơ sở dữ liệu khảo sát với một cột cho mỗi câu hỏi và một hàng cho mỗi người trả lời. Mỗi câu hỏi được trả lời với một giá trị từ 1 đến 3.Trong SQL, làm thế nào tôi có thể đếm số lượng giá trị trong một cột và sau đó xoay nó để cột trở thành hàng?
Id Quality? Speed?
-- ------- -----
1 3 1
2 2 1
3 2 3
4 3 2
Bây giờ, tôi cần phải hiển thị kết quả như một hàng cho mỗi câu hỏi, với một cột cho mỗi số phản ứng, và giá trị trong mỗi cột là số các câu trả lời đã sử dụng câu trả lời đó. Cuối cùng, tôi cần phải tính toán tổng số điểm, đó là số của 1 cộng với hai lần số lượng của 2 cộng với ba lần số lượng của threes.
Question 1 2 3 Total
-------- -- -- -- -----
Quality? 0 2 2 10
Speed? 2 1 1 7
Có cách nào để thực hiện điều này trong SQL dựa trên cơ sở không? Tôi biết làm thế nào để làm điều đó bằng cách sử dụng vòng trong C# hoặc con trỏ trong SQL, nhưng tôi đang cố gắng để làm cho nó hoạt động trong một công cụ báo cáo không hỗ trợ con trỏ.
Bạn có muốn làm điều này trong bất kỳ RDBMS cụ thể không? –
Các phím id có đại diện cho các câu hỏi riêng lẻ hoặc người dùng cá nhân không? – Kenneth
công cụ báo cáo nào –