worker(workerno ,workername,workersex,workerbirthday,partymember,timetowork,departno,)
职工号,姓名,性别,出生日期,党员否,参加工作时间,部门号depart(departno ,departname)salary(workerno,workername,date,salary)
求出男女职工的平均工资,若男职工平均工资高出女职工平均工资50%,则显示“男职工比女职工的工资高多了‘的信息;若男职工平均工资与女职工平均工资比率在1.5---0.8之间,则显示”男职工与女职工的工资差不多“的信息,否则,显示”女职工比男职工的工资高多了“的信息。

解决方案 »

  1.   

    select a.workersex,avg(b.salary)
    from worke a inner join salary b on a.workerno=b.workerno
    group by a.workersex
      

  2.   

     (不要高估你的汉语表达能力或者我的汉语理解能力)
       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式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)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。   
      

  3.   

    哦,是我的错。我用的版本是sql server 2005
      

  4.   

    select (case when 男职工平均工资*1.0/女职工平均工资 >1.5 then '男职工比女职工的工资高多了' 
    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