尝试做视图但是有问题ORA-00979: not a GROUP BY expression

Try to make a view but have a problem ORA-00979: not a GROUP BY expression

所以,我正在尝试在 sql

中查看
    CREATE VIEW VIEW_PROJECT 
AS SELECT Pname, Dname, COUNT(W.Essn) as Numb_Employees, SUM(W.Hours) as Total_Hours 
FROM PROJECT P, DEPARTMENT D, WORKS_ON W 
WHERE P.Dnum=D.Dnumber AND P.Pnumber=W.Pno 
GROUP BY Pno;

然后出现错误“ORA-00979:不是 GROUP BY 表达式”

你能告诉我如何解决查询吗?

您需要按 select 中未聚合的列进行聚合。并使用 JOIN!

CREATE VIEW VIEW_PROJECT AS
    SELECT p.Pname, d.Dname, COUNT(W.Essn) as Numb_Employees, SUM(W.Hours) as Total_Hours 
    FROM PROJECT P JOIN
         DEPARTMENT D
         ON P.Dnum = D.Dnumber JOIN
         WORKS_ON W 
         ON P.Pnumber = W.Pno 
GROUP BY Pname, Dname;