Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
sureshsmanian
Starting Member
31 Posts |
Posted - 2011-09-14 : 04:38:30
|
| Hi ExpertsI have two tablesTable-A-------JobInfo (Id, JobId - nvarchar(20)- PK, JobTitle- nvarchar(100))Table-B--------EmployeeInfo( Id, EmpId - nvarchar(20)-PK, JobId1 - nvarchar(20) - refers JobId-JobInfo, ReportingToJob1 - nvarchar(20) - refers JobId-JobInfo, ReportingManager1 - nvarchar(20) - refers some other EmpId - self references EmployeeInfo JobId2 - nvarchar(20) - refers JobId-JobInfo, ReportingToJob2 - nvarchar(20) - refers JobId-JobInfo, ReportingManager2 - nvarchar(20) - refers some other EmpId - self references EmployeeInfo)*****************************************************************I want the OUTPUT in this tabular format==================================================================Sno|EmpId|Name|JobTitle1|Report_JobTitle1|Report_Mgr1|JobTitle2| Report_JobTitle2|Report_Mgr2 ==================================================================******************************************************************For your info.Query for Create and Insert---------------------------Table A------- JobInfoCREATE TABLE [dbo].[JobInfo]( [Id] [int] IDENTITY(1,1) NOT NULL, [JobId] [nvarchar](20) NOT NULL, [JobTitle] [nvarchar](150) NULL,PRIMARY KEY CLUSTERED ( [JobId] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]------Insert into JobInfo(JobId,JobTitle) Select 'J001', 'Director'Union allSelect 'J002', 'Driver'Union allSelect 'J003', 'Messenger'Union allSelect 'J004', 'Tech Manager'Union allSelect 'J005', 'SW Manager',Union allSelect 'J006', 'Sr Architect' Union allSelect 'J00100', 'CEO'Table B : EmployeeInfo------CREATE TABLE [dbo].[EmployeeInfo]( [Id] [int] IDENTITY(1,1) NOT NULL, [EmpId] [nvarchar](20) NOT NULL, [Name] [nvarchar](50) NOT NULL, [JobId1] [nvarchar](20) NULL, [ReportingJobId1] [nvarchar](20) NULL, [ReportingManager1] [nvarchar](20) NULL, [JobId2] [nvarchar](20) NULL, [ReportingJobId2] [nvarchar](20) NULL, [ReportingManager2] [nvarchar](20) NULL,PRIMARY KEY CLUSTERED ( [EmpId] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]GOALTER TABLE [dbo].[EmployeeInfo] WITH CHECK ADD CONSTRAINT [FK_EmployeeInfo_JobInfo1] FOREIGN KEY([JobId1])REFERENCES [dbo].[JobInfo] ([JobId])GOALTER TABLE [dbo].[EmployeeInfo] CHECK CONSTRAINT [FK_EmployeeInfo_JobInfo1]GOALTER TABLE [dbo].[EmployeeInfo] WITH CHECK ADD CONSTRAINT [FK_EmployeeInfo_JobInfo2] FOREIGN KEY([JobId2])REFERENCES [dbo].[JobInfo] ([JobId])GOALTER TABLE [dbo].[EmployeeInfo] CHECK CONSTRAINT [FK_EmployeeInfo_JobInfo2]GOALTER TABLE [dbo].[EmployeeInfo] WITH CHECK ADD CONSTRAINT [FK_EmployeeInfo_ReportingJobInfo1] FOREIGN KEY([ReportingJobId1])REFERENCES [dbo].[JobInfo] ([JobId])GOALTER TABLE [dbo].[EmployeeInfo] CHECK CONSTRAINT [FK_EmployeeInfo_ReportingJobInfo1]GOALTER TABLE [dbo].[EmployeeInfo] WITH CHECK ADD CONSTRAINT [FK_EmployeeInfo_ReportingJobInfo2] FOREIGN KEY([ReportingJobId2])REFERENCES [dbo].[JobInfo] ([JobId])GOALTER TABLE [dbo].[EmployeeInfo] CHECK CONSTRAINT [FK_EmployeeInfo_ReportingJobInfo2]GOALTER TABLE [dbo].[EmployeeInfo] WITH CHECK ADD CONSTRAINT [FK_EmployeeInfo_ReportingManager1] FOREIGN KEY([ReportingManager1])REFERENCES [dbo].[EmployeeInfo] ([EmpId])GOALTER TABLE [dbo].[EmployeeInfo] CHECK CONSTRAINT [FK_EmployeeInfo_ReportingManager1]GOALTER TABLE [dbo].[EmployeeInfo] WITH CHECK ADD CONSTRAINT [FK_EmployeeInfo_ReportingManager2] FOREIGN KEY([ReportingManager2])REFERENCES [dbo].[EmployeeInfo] ([EmpId])GOALTER TABLE [dbo].[EmployeeInfo] CHECK CONSTRAINT [FK_EmployeeInfo_ReportingManager2]GO=================================================insert into employeeInfo(EmpId,Name,JobId1,ReportingJobId1,ReportingManager1,JobId2,ReportingJobId2,ReportingManager2)Select 'E001','Ameen','J00100','J00100',NULL,NULL,NULL,NULLUnion Allselect 'E002','Bernice', 'J004','J001','E006','J005','J006','E007'Union AllSelect 'E003','Samantha','J005','J001','E006',NULL,NULL,NULL Union AllSelect 'E005', 'Alex', 'J002','J001','E006', 'J003','J004','E002'Union AllSelect 'E006', 'Ahmed', 'J001','J00100','E001',NULL,NULL,NULLUnion AllSelect 'E007', 'Ankur', 'J006','J00100','E001',NULL,NULL,NULL-----------------Thanks for your help.RegardsSSM |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2011-09-14 : 08:46:57
|
sounds like set of joinsSELECT e1.EmpId,jf1.JobTitle AS JobTitle1,jf2.JobTitle AS Report_JobTitle1,e2.EmpId AS ReportingManager1,jf3.JobTitle AS JobTitle2,jf4.JobTitle AS Report_JobTitle2,e3.EmpId AS Report_Mgr2FROM EmployeeInfo e1INNER JOIN JobInfo jf1ON jf1.Job_ID = e.Job_IDINNER JOIN JobInfo jf2ON jf2.Job_ID = e.ReportingToJob1 INNER JOIN EmployeeInfo e2ON e2.EmpId = e1.ReportingManager1 INNER JOIN JobInfo jf3ON jf3.Job_ID = e2.Job_IDINNER JOIN JobInfo jf4ON jf4.Job_ID = e2.ReportingToJob1INNER JOIN EmployeeInfo e3ON e3.EmpId = e1.ReportingManager2 ------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/ |
 |
|
|
sureshsmanian
Starting Member
31 Posts |
Posted - 2011-09-15 : 07:03:49
|
| Thanks @Vishak16,I have written with set of joins then it is working(similar to your query). |
 |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2011-09-15 : 07:23:28
|
| ok fine...you're welcome------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/ |
 |
|
|
|
|
|
|
|