新手求教,百度过了,答案都与所问不符,才来让大家看看。
问题如下:
两张表:第一张 EMP表,用到字段:empno、sal、deptno
第二张 dept表,只有两个字段:deptno/deptno
需求:查出相同部门的总工资
想要做到的视图效果: 部门名称 总工资数
问题所在:先做出一张虚拟表 将两张表通过deptno关联 将所有字段合成一张表 然后group by deptno
但是错误提示;列明未明确,据说有个可以去除重复列(不是distinct)的方法,但是百度到的都不是想要答案...(水平太菜,求指教。)
--------------------------------------------------这是我本办法出来的答案,怎么改善?
select dname,sum(sal) as b from (select emp.deptno,emp.sal,dept.dname from emp,dept where emp.deptno=dept.deptno ) nee group by dname,deptno
重复列oracleselect百度需求
问题如下:
两张表:第一张 EMP表,用到字段:empno、sal、deptno
第二张 dept表,只有两个字段:deptno/deptno
需求:查出相同部门的总工资
想要做到的视图效果: 部门名称 总工资数
问题所在:先做出一张虚拟表 将两张表通过deptno关联 将所有字段合成一张表 然后group by deptno
但是错误提示;列明未明确,据说有个可以去除重复列(不是distinct)的方法,但是百度到的都不是想要答案...(水平太菜,求指教。)
--------------------------------------------------这是我本办法出来的答案,怎么改善?
select dname,sum(sal) as b from (select emp.deptno,emp.sal,dept.dname from emp,dept where emp.deptno=dept.deptno ) nee group by dname,deptno
重复列oracleselect百度需求
FROM EMP, DEPT
WHERE EMP.DEPTNO = DEPT.DEPTNO
GROUP BY DEPT.DNAME
怎么解决我那个重复列的问题?
主要就是分组的依据,因为你最终要的是部门名称,就没有必要依据别的字段分组了。报错的原因,4楼总结的很对谢谢回复,这个朋友的代码我试了,结果格式正确,但是分组条件为dname时,第二列工资结果是所有部门的工资总和,而不是次部门的工资和。
四楼总结的对,解决办法为在建立虚拟表时明确select的后边的列名,不要使用* ,而是把需要的列名一一写出来就可以了。貌似没有一个直接去除重复列的方法。