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.
SETUP SQL tạo bảng nhansu và chèn dữ liệu.
Cây hợp lệ (không vòng lặp). 1 ≤ số nhân viên ≤ 1000.
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:
Đang tải editor...