| 
                
                    | 
                            
                                | Author | Topic |  
                                    | asif372Posting 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 |  |  
                                    | visakh16Very 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 |  
                                          |  |  |  
                                |  |  |  |