Tổng công ty bán lẻ Hapro cần báo cáo dạng bảng ngang: mỗi chi nhánh một dòng, bốn cột là tổng doanh thu của bốn quý. Quý không có dữ liệu hiện 0.
Bảng doanhthu:
| Cột | Kiểu | Ý nghĩa |
|---|---|---|
| machinhanh | varchar(10) | Mã chi nhánh |
| quy | int | Quý (1–4) |
| tien | int | Doanh thu ghi nhận (đồng) |
Một chi nhánh có thể có nhiều dòng cùng quý (nhiều đợt ghi nhận) — cần cộng dồn. Dùng PIVOT (SUM(tien) FOR quy IN ([1],[2],[3],[4])) và ISNULL để thay NULL bằng 0.
Chi nhánh CN1 có hai dòng quý 1 (100, 50) và một dòng quý 3 (80) thì in CN1 150 0 80 0.
Script T-SQL tạo bảng doanhthu và chèn dữ liệu.
1≤ số dòng ≤1000; 1≤quy≤4; 0≤tien≤108.
SELECT in machinhanh, quy1, quy2, quy3, quy4, sắp xếp theo machinhanh tăng dần.
Ví dụ:
Đầu vào:
CREATE TABLE doanhthu (machinhanh varchar(10), quy int, tien int);
INSERT INTO doanhthu VALUES ('CN1',1,100000000),('CN1',1,50000000),('CN1',3,80000000),('CN2',2,60000000),('CN2',4,90000000);Đầu ra:
CN1 150000000 0 80000000 0
CN2 0 60000000 0 90000000
Giải thích:
Đang tải editor...