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