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

    Đề bài: [SQL Server] Bảng chéo doanh thu theo quý

    Công ty muốn lập bảng chéo doanh thu mỗi chi nhánh theo 4 quý từ bảng dt_quy.

    Cột Kiểu Ý nghĩa
    chinhanh nvarchar(40) Tên chi nhánh
    quy nvarchar(2) Quý: 'Q1','Q2','Q3','Q4'
    dt int Doanh thu (triệu đồng)

    Dùng PIVOT để xoay quý thành 4 cột Q1, Q2, Q3, Q4. Quý nào không có dữ liệu thì giá trị 0 (dùng ISNULL).

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

      SETUP SQL tạo bảng dt_quy và chèn doanh thu theo chi nhánh và quý.

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

      quy chỉ nhận 'Q1'..'Q4'. (chinhanh, quy) là duy nhất. Thiếu quý điền 0.

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

      Năm cột: chinhanh, Q1, Q2, Q3, Q4. Sắp xếp theo chinhanh tăng dần.

    Ví dụ:

    Đầu vào:

    CREATE TABLE dt_quy (chinhanh nvarchar(40), quy nvarchar(2), dt int);
    INSERT INTO dt_quy VALUES
    (N'Ha Noi',N'Q1',100),(N'Ha Noi',N'Q2',120),(N'Ha Noi',N'Q3',90),
    (N'Da Nang',N'Q1',50);

    Đầu ra:

    Da Nang	50	0	0	0
    Ha Noi	100	120	90	0

    Giải thích:

    PIVOT xoay quý thành cột. Ha Noi có Q1=100, Q2=120, Q3=90, Q4 không có nên 0. Da Nang chỉ có Q1=50, các quý còn lại 0.

    Chủ đề

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

    Đang tải editor...