Sql 解析ORA-00937:对行求和时没有单个组函数

Sql 解析ORA-00937:对行求和时没有单个组函数,sql,oracle,Sql,Oracle,我有两张桌子。在表A中,我有: | A_ID | DESCRIP | +------+----------+ | 1 | Thing1 | | 2 | Thing2 | | 3 | Thing3 | | .... | ..... | | A_ID | Amount | +------+----------+ | 1 | 5.5 | | 1 | 8.2 | | 1 |

我有两张桌子。在表A中,我有:

  | A_ID | DESCRIP  | 
  +------+----------+
  |   1  |  Thing1  |
  |   2  |  Thing2  |
  |   3  |  Thing3  |
  | .... |   .....  |
  | A_ID | Amount  | 
  +------+----------+
  |   1  |   5.5    |
  |   1  |   8.2    |
  |   1  |  10.5    |
  |   2  |   7.4    |
  |   2  |   1.7    |
  |   2  |  15.9    |
  |  ... |    ....  |
在表B中,我有:

  | A_ID | DESCRIP  | 
  +------+----------+
  |   1  |  Thing1  |
  |   2  |  Thing2  |
  |   3  |  Thing3  |
  | .... |   .....  |
  | A_ID | Amount  | 
  +------+----------+
  |   1  |   5.5    |
  |   1  |   8.2    |
  |   1  |  10.5    |
  |   2  |   7.4    |
  |   2  |   1.7    |
  |   2  |  15.9    |
  |  ... |    ....  |
我想加入表B
AMOUNT
行的
SUM()
,其中
A\u ID
与表A中的
A\u ID
匹配

我的SQL当前类似于:

SELECT 
A.A_ID,
A.DESCRIP,
SUM(B.AMOUNT)
FROM 
A

LEFT JOIN
 B
ON
 A.A_ID = B.A_ID
ORDER BY ARINVT.ID
这个问题在我见过的这个网站上出现过很多次。我还没有找到一个对我的情况有很大帮助的,但是在下面的问题链接中:

我知道我可能必须使用分析来解决我的问题。我试着跟踪一些Youtube视频来做到这一点,但不能完全理解。如果有人能在链接的问题中多解释一点被接受的答案,我们将不胜感激

编辑:添加了实际使用的sql代码。当我认为我需要分析时,我正在简化

当前SQL:

SELECT 
ARINVT.ID,
ARINVT.CLASS,
ARINVT.ITEMNO,
ARINVT.DESCRIP,
ARINVT.ONHAND,
SUM(DAY_USE_TOTAL.TOT_MAT_QTY)

FROM 
IQMS.ARINVT ARINVT

LEFT JOIN
IQMS.DAY_USE_TOTAL DAY_USE_TOTAL
ON
ARINVT.ID = DAY_USE_TOTAL.ARINVT_ID

WHERE CLASS = 'PL'

GROUP BY ARINVT.ID,ARINVT.DESCRIP
使用
groupby
得到的错误是:
ORA-00979:不是分组依据表达式

您必须对非聚合列使用分组依据

 SELECT ARINVT.ID,
     ARINVT.CLASS,
     ARINVT.ITEMNO,
     ARINVT.DESCRIP,
     ARINVT.ONHAND,
     SUM (DAY_USE_TOTAL.TOT_MAT_QTY)
FROM IQMS.ARINVT ARINVT
     LEFT JOIN IQMS.DAY_USE_TOTAL DAY_USE_TOTAL
        ON ARINVT.ID = DAY_USE_TOTAL.ARINVT_ID
   WHERE CLASS = 'PL'
GROUP BY ARINVT.ID,
         ARINVT.CLASS,
         ARINVT.ITEMNO,
         ARINVT.DESCRIP,
         ARINVT.ONHAND

缺少GROUP BY子句,请添加它。感谢您的回复!我的SQL仍然有一个错误。我将上传我正在使用的内容。现在。我上传了另一个,因为我想我必须使用分析。它很有效,非常感谢!我现在明白了,我不得不使用其他每一个没有求和的列。