注册 登录
编程论坛 SQL Server论坛

self join求助

SQL学习 发布于 2016-01-20 04:38, 2293 次点击
上星期刚开始学SQL,请教这个作业里不同于information services其它部门的BaseRate数据应该怎么写?

--use [AdventureWorksDW2012] [dbo].[DimEmployee]
--show list of Employees in other Department that have the same baseRate AS Employees in Information Services department
--only show records with baseRatee >30

--list Employee's DepartmentName,EmployeeKey,baseRate,FirstName,LastName, AND the DepartmentName,EmployeeKey,baseRate,FirstName,LastName of same base rate Employees who are
--in  Information Services department ,it is to compare Side-by-Side

程序代码:
use [AdventureWorksDW2012]
go
select distinct D1.DepartmentName AS 'Employee''s DepartmentName',D1.EmployeeKey,D1.BaseRate,D1.FirstName,D1.LastName
from [dbo].[DimEmployee]D1,[dbo].[DimEmployee]D2
where D1.[ParentEmployeeKey]=D2.[EmployeeKey] and D1.BaseRate>30
and d1.DepartmentName <>'Information Services'
order by 3

select distinct D1.DepartmentName AS 'Employee''s DepartmentName',D1.EmployeeKey,D1.BaseRate,D1.FirstName,D1.LastName
from [dbo].[DimEmployee]D1,[dbo].[DimEmployee]D2
where D1.[ParentEmployeeKey]=D2.[EmployeeKey] and D1.BaseRate>30
and d1.DepartmentName = 'Information Services'
order by 3
0 回复
1