Tôi có một bảng cơ sở dữ liệu Sql tương tự như sau:Làm thế nào để xoay hàng vào cột (tùy chỉnh pivoting)
Day Period Subject
Mon 1 Ch
Mon 2 Ph
Mon 3 Mth
Mon 4 CS
Mon 5 Lab1
Mon 6 Lab2
Mon 7 Lab3
Tue 1 Ph
Tue 2 Ele
Tue 3 Hu
Tue 4 Ph
Tue 5 En
Tue 6 CS2
Tue 7 Mth
Tôi muốn nó hiển thị như sau: Loại crosstab hoặc Pivot
Day P1 P2 P3 P4 P5 P6 P7
Mon Ch Ph Mth CS2 Lab1 Lab2 Lab3
Tue Ph Ele Hu Ph En CS2 Mth
Điều gì sẽ là cách lý tưởng để làm điều đó? Ai đó có thể vui lòng cho tôi xem mã Sql được không?
+1: Bạn là nhanh hơn & có ORDER BY . Vì vậy, tôi sẽ chỉ thêm: Như bạn có thể thấy, các cột động sẽ yêu cầu sử dụng SQL động. Có cú pháp ANSI PIVOT, nhưng nó chỉ được hỗ trợ trên SQL Server 2005+ và Oracle 11g. –
Tôi hiện đang làm điều này trong SQLite, nhưng nó dường như là một hoạt động khá chuyên sâu. Có ai biết nếu có một giải pháp hiệu quả hơn? – EnemyBagJones
Tôi không tin rằng SQLite có bất kỳ loại hàm pivot nào được tích hợp sẵn, vì vậy đây có lẽ là những gì bạn đang mắc phải. Tuy nhiên, tôi không sử dụng SQLite, vì vậy có lẽ ai đó có nhiều kinh nghiệm hơn với nhà cung cấp SQL cụ thể đó có ý tưởng tốt hơn. –