Ich möchte rekursive Abfrage verwenden (es kann cte
oder irgendetwas sein), wo ich versuche, den Executive-Bericht zu ziehen - wo ich einen Angestelltennamen eingeben und ich möchte alle Hierarchie bezogen auf Diese Mitarbeiter beginnen mit dem Top-Level-Mitarbeiter (beginnend mit CEO) und gehen dann nach unten.T-SQL- Rekursive Abfrage- Mitarbeiterhierarchie
Zum Beispiel:
Wenn ich Eingabe der Mitarbeiternamen Celia
, sollte der Bericht wie folgt aussehen:
CEO
Employees reporting to CEO , let's say MgrX
Employees reporting to MgrX- let's say MgrY
Employees reporting to MgrY - let's say MgrZ
alle Mitarbeiter zu MgrZ
Berichterstattung einschließlich Celia
(Eingabeparameter).
Die Abfrage ich zu verwenden Ich versuche:
with cte1 as
(
select
pa.PERSNBR
,pa.AUTHCD
,pu.VALUE
,hr.File#
,hr.[Payroll Name]
,hr.[Reports To File#]
,hr.[Reports To Name]
,hr.[EMC#]
,hr.[EMC Name]
from
[DNA_Staging].[dbo].[PERSAUTH] pa
join [DNA_Staging].[dbo].[PERSEMPL] pe
on pa.PERSNBR = pe.PERSNBR
join [DNA_Staging].[dbo].[PERSUSERFIELD] pu
on pe.PERSNBR = pu.PERSNBR
and pu.USERFIELDCD = 'EFNR'
and GETDATE() < isnull(pe.inactivedate,getdate()+1)
join [HR_Staging].[dbo].[HR_EmployeeHierarchyStaging] hr
on pu.VALUE = substring(hr.File#,2,6)
or pu.VALUE = substring(hr.File#,3,6)
),
-- find all the data for input payroll name in the parameter
cte2 as (select *
FROM cte1 where [Payroll Name] = 'Acain, Celia T'),
Bitte lesen Sie [diese] (http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a -public-forum /) für einige Tipps zur Verbesserung Ihrer Frage. Tipp: Es sollte eine Frage enthalten. – HABO