现在有一个问题有点不太明白,请大家帮忙,问题:求出男女职工的平均工资,如果男职工平均工资高出女职工平均工资50% 显示高     如果男职工平均工资和女职工平均工资的比率是 0.8~1.5之间  显示为中
  
     其它显示为低.
请大家帮忙~~

解决方案 »

  1.   

    可以用case when 不太明白你的需求
      

  2.   

    看看我的代码.不过不能执行select d1=avg(工资) from 表 where  zhipin='男'select z1=avg(工资) from baohao where  zhipin='女'case d1/z1   when d1/z1>0.5  then  print '高'
      when d1/z1>0.8 and d1/z1<1.5 then print '中'
      when d1/z1>1.5 then print '低'
    end
      

  3.   

    TO :xyxfly(小虾米 -_- 何去何从)是这样显示
    平均工资   级别
    4000       高
      

  4.   

    select case when avg(男)/avg(女)=0.5 then '高'  
          when (avg(男)/avg(女)>0.8 and avg(男)/avg(女)<1.5) then '高' 
    else ''
    end
    ...
      

  5.   

    TO :gawz(小蟲) 兄弟.不懂啊.我是新学的.才2天.~~~~
      

  6.   

    DECLARE @t TABLE (name VARCHAR(10),Sex VARCHAR(2),工资 NUMERIC(10,2))
    INSERT @t SELECT 'aa','男',100
    UNION ALL SELECT 'bb','女',50
    UNION ALL SELECT 'cc','男',70DECLARE @i Numeric(10,2)
    SELECT @i=CAST((SELECT AVG(工资) 男 FROM @t WHERE sex='男' ) AS NUMERIC(10,2))
    /
    (CASE WHEN 
    (SELECT AVG(工资) 女 FROM @t WHERE sex='女' )
     IS NULL THEN 1.00 
    ELSE CAST((SELECT AVG(工资) 女 FROM @t WHERE sex='女' ) AS NUMERIC(10,2)) END)SELECT CASE WHEN @i>=1.5 THEN '高'
    WHEN @i>=.08 AND @i<1.5 THEN '中'
    ELSE '低'
    END
    不用变量先取出倍数的话,语句写的太烦琐
      

  7.   

    TO:fcuandy(老菜鸟) 谢谢您的回答.我分析了好长时间才算看懂.谢谢了.加分.