L'errore è abbastanza evidente. Le colonne non aggregate in SELECT
di una query di aggregazione devono corrispondere alle chiavi. Nella tua richiesta, BILLDATE
non è aggregato e non è una chiave.
La soluzione semplice è:
SELECT BILLNO, BILLDATE,
SUM(QTY) AS SUMQTY,
SUM(AMOUNT) AS SUMAMOUNT
FROM PURCHASE
GROUP BY BILLNO, BILLDATE;
Se vuoi solo una riga per BILLNO
-- o se conosci quel BILLDATE
è lo stesso per tutti i BILLNO
-- allora puoi invece usare una funzione di aggregazione:
SELECT BILLNO, MAX(BILLDATE) as BILLDATE,
SUM(QTY) AS SUMQTY,
SUM(AMOUNT) AS SUMAMOUNT
FROM PURCHASE
GROUP BY BILLNO;