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

    solution

    Đề bài: [SQL Server] Cấp bậc quản lý trong công ty

    Công ty FPT Software muốn xác định cấp bậc (level) của từng nhân viên trong sơ đồ tổ chức, tính từ tổng giám đốc (cấp 1).

    Bảng nhansu:

    Cột Kiểu Ý nghĩa
    manv INT Mã nhân viên
    hoten NVARCHAR(50) Họ tên
    sep INT Mã sếp trực tiếp (NULL nếu là TGĐ)

    Dùng CTE đệ quy: người không có sếp (sep IS NULL) là cấp 1, cấp dưới của họ là cấp 2,... In manv, hoten, capbac.

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

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

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

      Cây hợp lệ (không vòng lặp). 1 ≤ số nhân viên ≤ 1000.

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

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

    Ví dụ:

    Đầu vào:

    CREATE TABLE nhansu (manv INT, hoten NVARCHAR(50), sep INT);
    INSERT INTO nhansu VALUES
    (1, N'Truong Gia Binh', NULL),
    (2, N'Pham Minh Tuan', 1),
    (3, N'Le Thi Hoa', 1),
    (4, N'Nguyen Van Nam', 2);

    Đầu ra:

    1	Truong Gia Binh	1
    2	Pham Minh Tuan	2
    3	Le Thi Hoa	2
    4	Nguyen Van Nam	3

    Giải thích:

    TGĐ Truong Gia Binh cấp 1. Hai người báo cáo trực tiếp (manv 2,3) cấp 2. Nguyen Van Nam báo cáo cho manv 2 nên cấp 3.

    Đang tải editor...