看看我的代码.不过不能执行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
TO :xyxfly(小虾米 -_- 何去何从)是这样显示 平均工资 级别 4000 高
select case when avg(男)/avg(女)=0.5 then '高' when (avg(男)/avg(女)>0.8 and avg(男)/avg(女)<1.5) then '高' else '' end ...
TO :gawz(小蟲) 兄弟.不懂啊.我是新学的.才2天.~~~~
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 不用变量先取出倍数的话,语句写的太烦琐
when d1/z1>0.8 and d1/z1<1.5 then print '中'
when d1/z1>1.5 then print '低'
end
平均工资 级别
4000 高
when (avg(男)/avg(女)>0.8 and avg(男)/avg(女)<1.5) then '高'
else ''
end
...
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
不用变量先取出倍数的话,语句写的太烦琐