Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi
    solution

    Đề bài: [SQL Server] Tổng và lớn nhất giao dịch theo loại

    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).

    • Định dạng đầu vào:

      SETUP SQL tạo bảng gd và chèn giao dịch nạp/rút của khách.

    • Ràng buộc đầu vào:

      loai chỉ nhận 'Nap'/'Rut'. Thiếu loại điền 0.

    • Định dạng đầu ra:

      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:

    KH1 nạp 100 và 300 nên Nap_tong=400, Nap_max=300; rút 50 nên Rut_tong=Rut_max=50. KH2 chỉ rút 80, các cột Nap = 0.

    Chủ đề

    🗄️ Cơ sở dữ liệuSQL ServerSQL Server: PIVOTTất cả môn học

    Đang tải editor...