Chyba je celkem zřejmá. Neagregované sloupce v SELECT agregačního dotazu musí odpovídat klíčům. Ve vašem dotazu BILLDATE není agregováno a není to klíč.
Jednoduchá oprava je:
SELECT BILLNO, BILLDATE,
SUM(QTY) AS SUMQTY,
SUM(AMOUNT) AS SUMAMOUNT
FROM PURCHASE
GROUP BY BILLNO, BILLDATE;
Pokud chcete pouze jeden řádek na BILLNO -- nebo pokud víte, že BILLDATE je stejný pro všechny BILLNO -- pak můžete místo toho použít funkci agregace:
SELECT BILLNO, MAX(BILLDATE) as BILLDATE,
SUM(QTY) AS SUMQTY,
SUM(AMOUNT) AS SUMAMOUNT
FROM PURCHASE
GROUP BY BILLNO;