Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Доклад на мениджъра на служителите - 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. Рефакторинг на ADO.NET - SqlTransaction срещу TransactionScope

  2. Използване с vs деклариране на временна таблица:производителност / разлика?

  3. C# скрипт, използващ StreamWriter, създава допълнителен символ?

  4. sql сървър изберете първия ред от група

  5. Замяна на множество символи в низ в SQL Server (T-SQL)