El error es bastante obvio. Las columnas desagregadas en SELECT
de una consulta de agregación deben coincidir con las claves. En su consulta, BILLDATE
no se agrega y no es una clave.
La solución simple es:
SELECT BILLNO, BILLDATE,
SUM(QTY) AS SUMQTY,
SUM(AMOUNT) AS SUMAMOUNT
FROM PURCHASE
GROUP BY BILLNO, BILLDATE;
Si desea solo una fila por BILLNO
-- o si sabe que BILLDATE
es el mismo para todos los BILLNO
-- entonces puede usar una función de agregación en su lugar:
SELECT BILLNO, MAX(BILLDATE) as BILLDATE,
SUM(QTY) AS SUMQTY,
SUM(AMOUNT) AS SUMAMOUNT
FROM PURCHASE
GROUP BY BILLNO;