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;