Bảng gd ghi giao dịch của khách theo loại ('Nap','Rut'). Cần với mỗi khách lấy tổng tiền và giao dịch lớn nhất cho từng loại — tức 4 cột.
| Cột | Kiểu | Ý nghĩa |
|---|---|---|
| makh | nvarchar(20) | Mã khách |
| loai | nvarchar(10) | 'Nap' hoặc 'Rut' |
| sotien | int | Số tiền |
Vì PIVOT chỉ dùng một hàm, hãy dùng hai PIVOT (một cho SUM, một cho MAX) rồi JOIN, tạo các cột Nap_tong, Rut_tong, Nap_max, Rut_max (thiếu = 0).
SETUP SQL tạo bảng gd và chèn giao dịch nạp/rút của khách.
loai chỉ nhận 'Nap'/'Rut'. Thiếu loại điền 0.
Năm cột: makh, Nap_tong, Rut_tong, Nap_max, Rut_max. Sắp xếp theo makh tăng dần.
Ví dụ:
Đầu vào:
CREATE TABLE gd (makh nvarchar(20), loai nvarchar(10), sotien int);
INSERT INTO gd VALUES
(N'KH1',N'Nap',100),(N'KH1',N'Nap',300),(N'KH1',N'Rut',50),
(N'KH2',N'Rut',80);
Đầu ra:
KH1 400 50 300 50
KH2 0 80 0 80
Giải thích:
Đang tải editor...