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;