Công ty dược Traphaco đánh giá trình dược viên qua sản lượng bán 6 tháng đầu năm. Báo cáo dạng ngang: mỗi nhân viên một dòng, sáu cột t1–t6 là tổng sản lượng từng tháng, kèm cột tongcong là tổng cả 6 tháng. Tháng thiếu dữ liệu hiện 0.
Bảng banhang:
| Cột | Kiểu | Ý nghĩa |
|---|---|---|
| manv | varchar(10) | Mã nhân viên |
| thang | int | Tháng (1–6) |
| soluong | int | Sản lượng bán (hộp) |
Một nhân viên có thể có nhiều dòng cùng tháng. Dùng PIVOT (SUM(soluong) FOR thang IN ([1]..[6])), ISNULL từng cột, và cộng sáu cột để ra tongcong.
NV01 bán tháng 1: 30 hộp, tháng 3: 20 hộp thì in NV01 30 0 20 0 0 0 50.
Script T-SQL tạo bảng banhang và chèn dữ liệu.
1≤ số dòng ≤2000; 1≤thang≤6; 0≤soluong≤105.
SELECT in manv, t1, t2, t3, t4, t5, t6, tongcong, sắp xếp theo manv tăng dần.
Ví dụ:
Đầu vào:
CREATE TABLE banhang (manv varchar(10), thang int, soluong int);
INSERT INTO banhang VALUES ('NV01',1,30),('NV01',3,20),('NV02',2,15),('NV02',2,25),('NV02',6,10);Đầu ra:
NV01 30 0 20 0 0 0 50
NV02 0 40 0 0 0 10 50
Giải thích:
Đang tải editor...