Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Raport menedżera pracowników — serwer 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. Jak serwer sql sortuje twoje dane?

  2. Jak odczytać duży plik z dysku do bazy danych bez braku pamięci?

  3. Czy istnieje błąd w SqlDataReader.HasRows podczas uruchamiania programu SQL Server 2008?

  4. Obsługa nieistniejących wartości w wyrażeniu zapytania sql dla wykresu ssrs

  5. SQL Server 2005 zwalnia w miarę dodawania wierszy