Bảng bangdiem lưu điểm theo dạng rộng (mỗi môn một cột). Phòng đào tạo cần đưa về dạng dài (mỗi dòng một môn) bằng UNPIVOT.
| Cột | Kiểu | Ý nghĩa |
|---|---|---|
| sinhvien | nvarchar(50) | Tên sinh viên |
| Toan | int | Điểm Toán |
| Ly | int | Điểm Lý |
| Hoa | int | Điểm Hóa |
Kết quả gồm sinhvien, mon, diem. Dùng UNPIVOT trên ba cột môn.
SETUP SQL tạo bảng bangdiem (dạng rộng) và chèn điểm các môn.
Điểm là số nguyên 0..10. Mỗi sinh viên một dòng trong bảng gốc.
Ba cột: sinhvien, mon, diem. Sắp xếp theo sinhvien, mon tăng dần.
Ví dụ:
Đầu vào:
CREATE TABLE bangdiem (sinhvien nvarchar(50), Toan int, Ly int, Hoa int);
INSERT INTO bangdiem VALUES (N'An',8,7,9),(N'Binh',6,5,7);
Đầu ra:
An Hoa 9
An Ly 7
An Toan 8
Binh Hoa 7
Binh Ly 5
Binh Toan 6
Giải thích:
Đang tải editor...