Author |
Topic |
asif372
Posting Yak Master
100 Posts |
Posted - 2013-11-04 : 07:08:41
|
i am working on Attendance System i want to work on hierarchy Structure Boss EmployeeID is Employee ID of First Immediate Boss.just like Employee ID 5 HAVE 4 BOSS's EmployeeID's of Bosses are 4,3,2,1My Date is like thisEmployee ID Name Boss Employee ID1 ABC NULL2 DEF 13 GHI 24 JKL 35 MNO 411 ABC NULL12 1DEF 1113 1GHI 1214 1JKL 1315 1MNO 14i want to Display Subornates of Every Bossmy required data is like thisSub OrdinatesEmployee ID Name Subornates ID1 ABC 2,3,4,52 DEF 3,4,53 GHI 4,54 JKL 55 MNO NULL11 ABC 12,13,1412 1DEF 13,14,1513 1GHI 14,1514 1JKL 1515 1MNO NULLThanks in Advance |
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2013-11-04 : 07:21:44
|
[code]declare @emp table(EmployeeID int,Name varchar(5),BossEmployeeID int)insert @empvalues(1,'ABC', NULL),(2, 'DEF', 1),(3, 'GHI', 2),(4, 'JKL', 3),(5, 'MNO', 4),(11, 'ABC' ,NULL),(12, '1DEF', 11),(13, '1GHI', 12),(14, '1JKL', 13),(15, '1MNO', 14);With OrgHierarchyAS(SELECT t.[EmployeeID],t.Name ,t.BossEmployeeID, CAST(NULL AS varchar(max)) AS [BossesID]FROM @emp tWHERE NOT EXISTS (SELECT 1FROM @emp WHERE [BossEmployeeID] = t.[EmployeeID])UNION ALLSELECT t.[EmployeeID],t.[Name],t.BossEmployeeID,CAST(CAST(oh.[EmployeeID] AS varchar(10)) +COALESCE( ',' + oh.[BossesID],'') AS varchar(max))FROM OrgHierarchy ohINNER JOIN @emp tON t.[EmployeeID] = oh.[BossEmployeeID])SELECT [EmployeeID],[Name],[BossesID]FROM OrgHierarchyORDER BY [EmployeeID]OPTION (MAXRECURSION 0)output-----------------------------------EmployeeID Name BossesID-----------------------------------1 ABC 2,3,4,52 DEF 3,4,53 GHI 4,54 JKL 55 MNO NULL11 ABC 12,13,14,1512 1DEF 13,14,1513 1GHI 14,1514 1JKL 1515 1MNO NULL[/code]------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/https://www.facebook.com/VmBlogs |
|
|
|
|
|