Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Laporan Manajer Karyawan - Server 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. Bagaimana cara membandingkan 2 baris dari tabel yang sama (SQL Server)?

  2. Cara menggunakan aspnet_regsql.exe

  3. NOLOCK vs. Tingkat Isolasi Transaksi

  4. Tidak dapat mentransmisikan TEXT ke XML di SQL Server

  5. Cara menemukan semua Pekerjaan Agen SQL yang memanggil proses tersimpan yang diberikan