我是学生这是我最后的家庭作业:)
/ * **(4.9)计算豁免雇员的最低工资 **和非豁免员工的最高工资。 * /
我只能使用一个select语句......或者不运行两个单独的查询
我有2张桌子...... JOB_TITLE
(Job_title varchar (50) PRIMARY KEY,
EEO_1_Classification varchar(200),
Job_description varchar(250),
Exempt_Non_Exempt_Status bit );
和
员工
(Emp_id int NOT NULL IDENTITY(1,1)PRIMARY KEY,
Last_name varchar(25),
First_name varchar(25),
Address varchar(40),
City varchar (15),
State char(2),
Telephone_area_code varchar(3),
Telephone_number varchar(8),
Job_title varchar(50) foreign key references job_title(job_title),
Hire_date smalldatetime,
Wage money,
Gender char(1),
Race varchar(25),
Age int );
它们由job_title主键/外键链接。
任何建议???
答案 0 :(得分:2)
计算豁免雇员的最低工资和非豁免雇员的最高工资:
select min(case when j.Exempt_Non_Exempt_Status = 1 then e.Wage end)
, max(case when j.Exempt_Non_Exempt_Status = 0 then e.Wage end)
from Employee e
join Job_title j
on j.Job_title = e.Job_title
答案 1 :(得分:1)
因为它的功课有一些提示。
您需要按job_title
加入这两个表,以查找应使用聚合函数min(Wage)
max(Wage)
的最小值/最大值,并在where子句中包含Exempt_Non_Exempt_Status
。 / p>
答案 2 :(得分:0)
您可以使用一些聪明的技巧在一个查询中执行此操作,但这不值得。如果您在两个查询中执行此操作,则更简单,更容易编码并且更易于维护。
这两个查询应该更容易让您单独解决。