worker(workerno ,workername,workersex,workerbirthday,partymember,timetowork,departno,)
职工号,姓名,性别,出生日期,党员否,参加工作时间,部门号depart(departno ,departname)salary(workerno,workername,date,salary)
求出男女职工的平均工资,若男职工平均工资高出女职工平均工资50%,则显示“男职工比女职工的工资高多了‘的信息;若男职工平均工资与女职工平均工资比率在1.5---0.8之间,则显示”男职工与女职工的工资差不多“的信息,否则,显示”女职工比男职工的工资高多了“的信息。
职工号,姓名,性别,出生日期,党员否,参加工作时间,部门号depart(departno ,departname)salary(workerno,workername,date,salary)
求出男女职工的平均工资,若男职工平均工资高出女职工平均工资50%,则显示“男职工比女职工的工资高多了‘的信息;若男职工平均工资与女职工平均工资比率在1.5---0.8之间,则显示”男职工与女职工的工资差不多“的信息,否则,显示”女职工比男职工的工资高多了“的信息。
from worke a inner join salary b on a.workerno=b.workerno
group by a.workersex
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
when 男职工平均工资*1.0/女职工平均工资 between 0.8 and 1.5 then '男职工与女职工的工资差不多'
else '女职工比男职工的工资高多了' end) as 结果
from(
select
avg(case when b.workersex='男' then c.salary else null end) as 男职工平均工资,
avg(case when b.workersex='女' then c.salary else null end) as 女职工平均工资
from worker b left join salary c on b.workerno=c.workerno
) t