MySQL có thể chuyển đổi cột thành hàng hay không, tự động thêm nhiều cột cần thiết cho các hàng. Tôi nghĩ câu hỏi của tôi có thể liên quan đến các bảng tổng hợp nhưng tôi không chắc chắn và tôi không biết cách đặt khung câu hỏi này ngoài cách khác bằng cách đưa ra ví dụ sau.Truy vấn Mysql để tự động chuyển đổi hàng thành cột
Cho một hai bảng A và B, mà trông giống như
Bảng A
+--+-----+----+
|id|order|data|
+--+-----+----+
|1 |1 |P |
+--+-----+----+
|2 |2 |Q |
+--+-----+----+
|2 |1 |R |
+--+-----+----+
|1 |2 |S |
+--+-----+----+
Tôi muốn viết một truy vấn mà trông giống như sau:
Kết quả Bảng
+--+-----+-----+
|id|data1|data2|
+--+-----+-----+
|1 |P |S |
+--+-----+-----+
|2 |R |Q |
+--+-----+-----+
Về cơ bản, tôi muốn chuyển mỗi hàng trong bảng B thành một cột trong bảng kết quả. Nếu có một mục mới được thêm vào bảng B cho id = 1, thì tôi muốn bảng kết quả tự động mở rộng bằng một cột để chứa điểm dữ liệu bổ sung này.
Tuyệt vời, ví dụ thứ hai chính xác là những gì tôi đã yêu cầu. Thật không may cho tôi có rất nhiều cú pháp SQL mới để có được đầu của tôi xung quanh. – Dom
mà bạn có tiền tố '@' được gọi là biến người dùng. và tại đây, http://dev.mysql.com/doc/refman/5.0/en/sql-syntax-prepared-statements.html, để tìm hiểu 'PreparedStatements'. –
Các giải pháp trên là làm việc tuyệt vời nhưng kịch bản của tôi là thay vì áp dụng trục trên một cột trên cơ sở khác tôi cũng có một cột khác mà tôi muốn áp dụng trục trên cơ sở của cột khác. Nó giống như tôi áp dụng hai pivots riêng biệt trên hai cột của một bảng và tham gia có kết quả. Bất kỳ trợ giúp nào – Moon