Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 计算最小和最大函数_Sql_Sql Server - Fatal编程技术网

Sql 计算最小和最大函数

Sql 计算最小和最大函数,sql,sql-server,Sql,Sql Server,我是一名学生这是我最后的家庭作业:) /* **(4.9)计算免税员工的最低工资 **以及非免税雇员的最高工资。 */ 我只能使用一个select语句。。。或者不运行两个单独的查询 我有两张桌子。。。 职位 (Job_title varchar (50) PRIMARY KEY, EEO_1_Classification varchar(200), Job_description varchar(250), Exempt_Non_Exempt_Status bit ); 及 雇员 (Emp_i

我是一名学生这是我最后的家庭作业:)

/* **(4.9)计算免税员工的最低工资 **以及非免税雇员的最高工资。 */

我只能使用一个select语句。。。或者不运行两个单独的查询

我有两张桌子。。。 职位

(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\u title
连接这两个表,要找到最小/最大值,您应该使用聚合函数
min(Wage)
max(Wage)
,并在where子句中包含
emption\u Non\u emption\u Status

您可以使用一些巧妙的技巧在一个查询中完成这一操作,但这并不值得。如果您在两个查询中执行,那么它将更简单、更易于编码和维护

  • 一个查询,用于获取免税员工的最低工资
  • 第二个单独的查询,用于获取非免税员工的最高工资

这两个查询应该更容易单独解决。

计算免税员工的最低工资和非免税员工的最高工资:

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

到目前为止你试过什么?试着阅读一下sql中的“min”函数。这是你最后一个家庭作业?如果你有,我需要一种查询方式一种查询解决方案是@Andomar给出的,但我坚持我的观点,试图在一个查询中做太多的事情会使查询变得不灵活和难以理解。当我们在传统代码中这样做时,我们称之为意大利面代码。