Bảng sales(product, quarter, amount) lưu doanh thu của từng sản phẩm theo quý. Cột quarter nhận một trong các giá trị 'Q1', 'Q2', 'Q3', 'Q4'.
Hãy xoay (PIVOT) dữ liệu thành dạng bảng chéo: mỗi dòng là một sản phẩm, bốn cột Q1, Q2, Q3, Q4 là tổng doanh thu của sản phẩm đó trong từng quý. Quý nào sản phẩm không có doanh thu thì điền 0. Sắp xếp theo product tăng dần.
Yêu cầu: dùng toán tử PIVOT của SQL Server.
Ví dụ: nếu Áo có Q1 = 120 và Q2 = 150 thì dòng Áo là Áo 120 150 0 0.
Bảng sales đã được tạo sẵn. Cột: product NVARCHAR, quarter NVARCHAR(2) (thuộc {Q1,Q2,Q3,Q4}), amount INT.
Số bản ghi ≤30, 0≤amount≤106.
Mỗi sản phẩm một dòng gồm 5 cột (cách nhau bởi TAB): product, Q1, Q2, Q3, Q4; theo thứ tự product tăng dần.
Ví dụ:
Đầu vào:
CREATE TABLE sales(product NVARCHAR(50), quarter NVARCHAR(2), amount INT);
INSERT INTO sales(product,quarter,amount) VALUES (N'Ao',N'Q1',100),(N'Ao',N'Q1',20),(N'Ao',N'Q2',150),(N'Quan',N'Q1',80);
Đầu ra:
Ao 120 150 0 0
Quan 80 0 0 0
Giải thích:
Đang tải editor...