O erro é bastante óbvio. As colunas não agregadas no
SELECT
de uma consulta de agregação precisam corresponder às chaves. Em sua consulta, BILLDATE
não é agregado e não é uma chave. A correção simples é:
SELECT BILLNO, BILLDATE,
SUM(QTY) AS SUMQTY,
SUM(AMOUNT) AS SUMAMOUNT
FROM PURCHASE
GROUP BY BILLNO, BILLDATE;
Se você quiser apenas uma linha por
BILLNO
-- ou se você souber que BILLDATE
é o mesmo para todos os BILLNO
-- então você pode usar uma função de agregação:SELECT BILLNO, MAX(BILLDATE) as BILLDATE,
SUM(QTY) AS SUMQTY,
SUM(AMOUNT) AS SUMAMOUNT
FROM PURCHASE
GROUP BY BILLNO;