回复 4# 的帖子
谢谢你的帮助,我认真看了你写的脚本,并运行,得到的结果如下
deptname (无列名)
培训部 243.333333
销售部 243.333333
为了验证上面的结果,我手工计算了两个部门的平均奖金,得到的结果为
培训部 256.0
销售部 226.0
所以你的结果有点碰巧,为了弄清楚为什么你的结果不对,我修改成这样。
select deptname,avg(bonus),count(bonus) from person,salary
group by deptname
having avg(bonus)>200
order by avg(bonus) desc
结果count(bonus)的值分别为 36 45
说明person 表与 salary 表的P_no 没有对应起来。我想,如果只涉及一个表,版主你的答案应该是对的。
所以我加了一个where语句
变成这样
select deptname,avg(bonus) from person,salary
where person.P_no=salary.P_no
group by deptname
having avg(bonus)>200
order by avg(bonus) desc
结果就正确了。(我认为是这样)
谢谢版主的帮助。。。。
[ 本帖最后由 布拉莫斯 于 2008-4-16 18:56 编辑 ]