I have 2 tables : T_Employees and T_Projects
Every project has different number of employees assigned. What i need to do, is to get hierarchical structure of each employee, assigned to a specific project.
Look at the image below and the expected results.
How to get this done on Microsoft SQL Server 2008R2?
https://i.stack.imgur.com/8hHoG.png https://i.stack.imgur.com/8hHoG.png
CREATE TABLE [dbo].[T_Projects]( [ID] [int] IDENTITY(1,1) NOT NULL, [ProjectId] [int] NOT NULL, [EmployeeId] [int] NOT NULL, CONSTRAINT [PK_T_Projects] PRIMARY KEY CLUSTERED([ID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] GO SET IDENTITY_INSERT [dbo].[T_Projects] ON INSERT [dbo].[T_Projects] ([ID], [ProjectId], [EmployeeId]) VALUES (1, 456,10) INSERT [dbo].[T_Projects] ([ID], [ProjectId], [EmployeeId]) VALUES (2, 456, 12) INSERT [dbo].[T_Projects] ([ID], [ProjectId], [EmployeeId]) VALUES (3, 23, 11) SET IDENTITY_INSERT [dbo].[T_Projects] OFF CREATE TABLE [dbo].[T_Employees]( [ID] [int] IDENTITY(1,1) NOT NULL, [Level] [int] NOT NULL, [Employee] [nvarchar](256) NOT NULL, [Department] [nvarchar](5) NOT NULL, [MasterId] [int] NULL, [Code] [nvarchar](10) NOT NULL, [Note] [nvarchar](100) NULL, CONSTRAINT [PK_T_Employees] PRIMARY KEY CLUSTERED ([ID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] GO SET IDENTITY_INSERT [dbo].[T_Employees] ON INSERT [dbo].[T_Employees] ([ID], [Level], [Employee], [Department], [MasterId], [Code], [Note]) VALUES (1, 1, N Thomas S. , N A , NULL, N 1-4 , NULL) INSERT [dbo].[T_Employees] ([ID], [Level], [Employee], [Department], [MasterId], [Code], [Note]) VALUES (2, 1, N Michael F. , N A , NULL, N 1-5 , NULL) INSERT [dbo].[T_Employees] ([ID], [Level], [Employee], [Department], [MasterId], [Code], [Note]) VALUES (3, 1, N Simone S. , N A , NULL, N 1-3 , NULL) INSERT [dbo].[T_Employees] ([ID], [Level], [Employee], [Department], [MasterId], [Code], [Note]) VALUES (4, 2, N Stefan K. , N B , 1, N 2-18 , NULL) INSERT [dbo].[T_Employees] ([ID], [Level], [Employee], [Department], [MasterId], [Code], [Note]) VALUES (5, 2, N Mike T. , N B , 2, N 2-96 , NULL) INSERT [dbo].[T_Employees] ([ID], [Level], [Employee], [Department], [MasterId], [Code], [Note]) VALUES (6, 2, N Loris P. , N B , 3, N 2-15 , NULL) INSERT [dbo].[T_Employees] ([ID], [Level], [Employee], [Department], [MasterId], [Code], [Note]) VALUES (7, 3, N Lennon I. , N B , 4, N 2-19 , NULL) INSERT [dbo].[T_Employees] ([ID], [Level], [Employee], [Department], [MasterId], [Code], [Note]) VALUES (8, 3, N Kerim K. , N C , 4, N 2-66 , NULL) INSERT [dbo].[T_Employees] ([ID], [Level], [Employee], [Department], [MasterId], [Code], [Note]) VALUES (9, 3, N Ilmas Y. , N C , 6, N 2-59 , NULL) INSERT [dbo].[T_Employees] ([ID], [Level], [Employee], [Department], [MasterId], [Code], [Note]) VALUES (10, 4, N Innes Y. , N D , 8, N 3-89 , NULL) INSERT [dbo].[T_Employees] ([ID], [Level], [Employee], [Department], [MasterId], [Code], [Note]) VALUES (11, 4, N Andreas U. , N E , 7, N 3-63 , NULL) INSERT [dbo].[T_Employees] ([ID], [Level], [Employee], [Department], [MasterId], [Code], [Note]) VALUES (12, 4, N Fatih O. , N I , 9, N 3-32 , NULL) SET IDENTITY_INSERT [dbo].[T_Employees] OFF