首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

oracle 10g sql语句 标识符无效,但是表中的确有这个标识,有图有真相

2014-01-23 
oracle 10g sql语句 标识符无效,但是表中确实有这个标识,有图有真相说的是雇员表,里面有部门编号,雇员编号

oracle 10g sql语句 标识符无效,但是表中确实有这个标识,有图有真相

说的是雇员表,里面有部门编号,雇员编号,这里用的是部门编号(deptno)
salgrade:
oracle 10g sql语句 标识符无效,但是表中的确有这个标识,有图有真相
说的是雇员的工资分等级(grade),每个等级的最高工资(hisal)和最低工资(losal)

我自己写的和错误如下:
    希望通过下面图片中的代码可以求出每个部门的平均薪水等级。
oracle 10g sql语句 标识符无效,但是表中的确有这个标识,有图有真相

如果不写t.deptno = emp.deptno,就不会有错,但是结果是不对的,
oracle 10g sql语句 标识符无效,但是表中的确有这个标识,有图有真相
求大神指点 一二!!!
[解决办法]


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

[解决办法]
引用:
我刚刚开始学,你说的我不太懂
2楼是说 要么 你写成3楼这样的  要么写成下面这样的
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

热点排行