Oracle过程不是按功能分组错误00979

Oracle过程不是按功能分组错误00979,oracle,plsql,procedure,Oracle,Plsql,Procedure,我编写了这个程序,从employee表中选择employee,并从purchases表中选择相应的销售总额。我的过程创建时没有任何错误,但块不工作 将过程中的查询更改为 SELECT e.NAME, SUM(p.QTY) INTO emp_name, total_qty FROM PURCHASES p INNER JOIN EMPLOYEES e ON e.EID = p.EID WHERE p.EID = empno GROUP BY e.NAME 基本上,使

我编写了这个程序,从employee表中选择employee,并从purchases表中选择相应的销售总额。我的过程创建时没有任何错误,但块不工作


将过程中的查询更改为

SELECT e.NAME, SUM(p.QTY)
  INTO emp_name, total_qty
  FROM PURCHASES p
  INNER JOIN EMPLOYEES e
    ON e.EID = p.EID
  WHERE p.EID = empno
  GROUP BY e.NAME
基本上,使用
WHERE
而不是
have
。如果你真的很想使用
拥有
你可以使用

SELECT p.EID, e.NAME, SUM(p.QTY)
  INTO emp_name, total_qty
  FROM PURCHASES p
  INNER JOIN EMPLOYEES e
    ON e.EID = p.EID
  GROUP BY p.EID, e.NAME
  HAVING p.EID = empno
要使用
HAVING
它所指的字段必须在结果中,因此必须在
分组中


祝您好运。

请在此处共享您的代码和错误,而不是图像链接