CREATE VIEW KC_Salary AS
SELECT DEPT_SNAP.DEPTNO,
DEPT_SNAP.DNAME,
Sum(EMP.SAL) as Avg_Salary,
COUNT(EMP.SAL) as Total_Salary,
EMP.DEPTNO
FROM DEPT_SNAP
union
select Sum(EMP.SAL) as Avg_Salary,
COUNT(EMP.SAL) as Total_Salary,
EMP.DEPTNO
from EMP;
我正在尝试使用两个不同的表来创建视图。我正在接受
SQL错误:ORA-01789:查询块的结果数不正确 列 1. 00000 - “查询块的结果列数不正确”
如果您有任何提示或想法,请提供帮助。
答案 0 :(得分:0)
您想要合并两个语句的结果 - 其中第一个语句有五个,但第二个只有三个列。两者都需要具有相同数量的列。 (并且相同位置的列必须是兼容类型。)
作为旁注:您的列别名似乎与应用的函数不匹配。
总结评论,你可能正在寻找类似的东西:
CREATE VIEW KC_Salary AS
SELECT
D.DEPTNO
, D.DNAME
, AVG(E.SAL) AS Avg_Salary
, SUM(E.SAL) AS Total_Salary
FROM DEPT_SNAP D
JOIN EMP E
ON D.DEPTNO = E.DEPTNO
GROUP BY D.DEPTNO, D.DNAME
;
答案 1 :(得分:0)
CREATE VIEW KC_Salary AS
SELECT DEPT_SNAP.DEPTNO,
DEPT_SNAP.DNAME,
Avg(EMP.SAL) as Avg_Salary,
Sum(EMP.SAL) as Total_Salary
FROM DEPT_SNAP
,EMP
WHERE DEPT_SNAP.DEPTNO = EMP.DEPTNO
GROUP BY DEPT_SNAP.DEPTNO, DEPT_SNAP.DNAME