oracle 10g sql语句 标识符无效,但是表中确实有这个标识,有图有真相
说的是雇员表,里面有部门编号,雇员编号,这里用的是部门编号(deptno)
salgrade:
说的是雇员的工资分等级(grade),每个等级的最高工资(hisal)和最低工资(losal)
我自己写的和错误如下:
希望通过下面图片中的代码可以求出每个部门的平均薪水等级。
如果不写t.deptno = emp.deptno,就不会有错,但是结果是不对的,
求大神指点 一二!!!
[解决办法]
select ds.deptno, t2.grade
from (select deptno, avg(sal) as avgsal from emp group by deptno) ds
left join salgrade t2
on ds.avgsal between t2.losal and t2.hisal
select t1.deptno, t2.grade
from (select deptno, avg(sal) as avgsal from emp group by deptno) t1,
salgrade t2
where t1.deptno = t2.deptno
and t1.avgsal between t2.losal and t2.hisal