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

    solution

    Đề bài: [SQL Server] Đếm tổng cấp dưới của mỗi trưởng nhóm

    Trong dự án VNG, mỗi trưởng nhóm muốn biết tổng số nhân sự cấp dưới trực tiếp và gián tiếp dưới quyền mình.

    Bảng toschuc:

    Cột Kiểu Ý nghĩa
    manv INT Mã nhân viên
    hoten NVARCHAR(50) Họ tên
    quanly INT Mã quản lý trực tiếp (NULL nếu cao nhất)

    Với mỗi nhân viên, đếm tổng số người nằm trong cây cấp dưới của họ (không tính bản thân). Dùng CTE đệ quy duyệt cây con. In manv, hoten, socapduoi.

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

      SETUP SQL tạo bảng toschuc và chèn dữ liệu.

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

      Cây hợp lệ. 1 ≤ số nhân viên ≤ 500.

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

      Mỗi dòng: manv, hoten, socapduoi. Sắp xếp theo socapduoi giảm dần, manv tăng dần.

    Ví dụ:

    Đầu vào:

    CREATE TABLE toschuc (manv INT, hoten NVARCHAR(50), quanly INT);
    INSERT INTO toschuc VALUES
    (1, N'Sep tong', NULL),
    (2, N'Truong nhom A', 1),
    (3, N'Truong nhom B', 1),
    (4, N'Thanh vien', 2);

    Đầu ra:

    1	Sep tong	3
    2	Truong nhom A	1
    3	Truong nhom B	0
    4	Thanh vien	0

    Giải thích:

    Sep tong (1) có 3 cấp dưới (2,3,4). Truong nhom A (2) có 1 cấp dưới (4). Truong nhom B (3) và Thanh vien (4) có 0 cấp dưới.

    Đang tải editor...