Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Báo cáo Người quản lý Nhân viên - Máy chủ Sql

Declare @t table(empid int, empname varchar(20), managerID int)

insert into @t 
select 1,'A',null union all
select 2,'B',1 union all
select 3,'C',1 union all 
select 4,'D',2

;with CTE AS
(
    Select empid,empname,managerID,
    Cast(empname As Varchar(max)) As ReportingManager
    from @T
    where managerID is null

    UNION ALL

    Select T.empid,T.empname,T.managerID,
    Cast(CTE.empname+'->'+t.empname As Varchar(max)) As ReportingManager
    from @T As T
    INNER JOIN CTE ON T.managerID=CTE.empid 
)
SELECT *
FROM CTE



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo @TableVariable dựa trên bảng cơ sở dữ liệu hiện có?

  2. Cách thực thi một trình kích hoạt chỉ khi một cột cụ thể được cập nhật (SQL Server)

  3. Phạm vi biến SQL Server trong một thủ tục được lưu trữ

  4. Sử dụng cơ sở dữ liệu bên trong một thủ tục được lưu trữ

  5. Truy vấn SQL Server - tính toán tính khả dụng của các phòng