Tôi có một bảng trông như thế này:SQL Server Pivot có thể không biết tên cột kết quả không?
Month Site Val
2009-12 Microsoft 10
2009-11 Microsoft 12
2009-10 Microsoft 13
2009-12 Google 20
2009-11 Google 21
2009-10 Google 22
Và tôi muốn có được một bảng 2 chiều mà mang lại cho tôi những "Val" trong tháng của mỗi trang web, như:
Month Microsoft Google
2009-12 10 20
2009-11 12 21
2009-10 13 22
Nhưng bắt được, tôi không biết tất cả các giá trị có thể có trong "Trang web". Nếu một trang mới xuất hiện, tôi muốn tự động lấy một cột mới trong bảng kết quả của tôi.
Tất cả các mẫu mã tôi thấy có thể làm điều này yêu cầu tôi phải mã hóa "Microsoft và Google" trong văn bản truy vấn.
I saw one that didn't, nhưng về cơ bản nó giả mạo nó bằng cách liệt kê các trang web và tạo truy vấn khi đang di chuyển (concatting một chuỗi) có các tên cột trong đó.
Không có cách nào để có được SQL Server 2008 để làm điều này mà không có một hack như thế?
LƯU Ý: Tôi cần để có thể chạy điều này như một truy vấn mà tôi gửi từ ASP.Net, tôi không thể thực hiện các thủ tục được lưu trữ hoặc các nội dung khác như thế.
Cảm ơn!
Daniel
gì bạn đang tìm kiếm nên có thể bằng cách thực hiện truy vấn tại thời gian chạy bằng cách sử dụng 'exec (@sql)' xem [ở đây] (http://stackoverflow.com/questions/15752112/). – surfmuggle