De fout is vrij duidelijk. De niet-geaggregeerde kolommen in de SELECT van een aggregatiequery moeten overeenkomen met de sleutels. In uw zoekopdracht, BILLDATE wordt niet geaggregeerd en is geen sleutel.
De eenvoudige oplossing is:
SELECT BILLNO, BILLDATE,
SUM(QTY) AS SUMQTY,
SUM(AMOUNT) AS SUMAMOUNT
FROM PURCHASE
GROUP BY BILLNO, BILLDATE;
Als u slechts één rij per BILLNO . wilt -- of als je weet dat BILLDATE is hetzelfde voor alle BILLNO -- dan kunt u in plaats daarvan een aggregatiefunctie gebruiken:
SELECT BILLNO, MAX(BILLDATE) as BILLDATE,
SUM(QTY) AS SUMQTY,
SUM(AMOUNT) AS SUMAMOUNT
FROM PURCHASE
GROUP BY BILLNO;