L'erreur est assez flagrante. Les colonnes non agrégées dans le SELECT
d'une requête d'agrégation doivent correspondre aux clés. Dans votre requête, BILLDATE
n'est pas agrégé et ce n'est pas une clé.
La solution simple est :
SELECT BILLNO, BILLDATE,
SUM(QTY) AS SUMQTY,
SUM(AMOUNT) AS SUMAMOUNT
FROM PURCHASE
GROUP BY BILLNO, BILLDATE;
Si vous voulez une seule ligne par BILLNO
-- ou si vous savez que BILLDATE
est le même pour tous les BILLNO
-- alors vous pouvez utiliser une fonction d'agrégation à la place :
SELECT BILLNO, MAX(BILLDATE) as BILLDATE,
SUM(QTY) AS SUMQTY,
SUM(AMOUNT) AS SUMAMOUNT
FROM PURCHASE
GROUP BY BILLNO;