I think I understand what is happening. Here is your subquery:
(SELECT NVL(SUM(DQTD_CONSUMOT),0)
FROM MYDB.DSO_TERMICO M
WHERE M.COD_FILIAL = D.COD_FILIAL AND
M.CODPRO = D.COD_MATERIAL AND
M.ZTL_DATA >= SUBSTR(D.DTA_PRODUCAO,0,6)||'01' AND
M.ZTL_DATA <= D.DTA_PRODUCAO
) AS AF002_MQTD_CONSUMOT
Everything looks kosher. The three fields mentioned in whereare in the sentence group by. The expression DQTD_CONSUMOT(which is important D.DQTD_CONSUMOT) is not, but it is in sum(). What could be the problem?
, . sum() . : " D.DQTD_CONSUMOT, group by. !".
, "":
(SELECT count(*)
FROM MYDB.DSO_TERMICO M
WHERE M.COD_FILIAL = D.COD_FILIAL AND
M.CODPRO = D.COD_MATERIAL AND
M.ZTL_DATA >= SUBSTR(D.DTA_PRODUCAO,0,6)||'01' AND
M.ZTL_DATA <= D.DTA_PRODUCAO
) * NVL(SUM(DQTD_CONSUMOT),0) AS AF002_MQTD_CONSUMOT
, , . - :
sum(DQTD_CONSUMOT) over (partition by D.COD_FILIAL, D.COD_MATERIAL, SUBSTR(D.DTA_PRODUCAO,0,6))
- . , .