Fejlen er ret åbenlys. De uaggregerede kolonner i SELECT
af en aggregeringsforespørgsel skal matche nøglerne. I din forespørgsel, BILLDATE
er ikke aggregeret, og det er ikke en nøgle.
Den enkle rettelse er:
SELECT BILLNO, BILLDATE,
SUM(QTY) AS SUMQTY,
SUM(AMOUNT) AS SUMAMOUNT
FROM PURCHASE
GROUP BY BILLNO, BILLDATE;
Hvis du kun ønsker én række pr. BILLNO
-- eller hvis du kender det BILLDATE
er den samme for alle BILLNO
-- så kan du bruge en aggregeringsfunktion i stedet:
SELECT BILLNO, MAX(BILLDATE) as BILLDATE,
SUM(QTY) AS SUMQTY,
SUM(AMOUNT) AS SUMAMOUNT
FROM PURCHASE
GROUP BY BILLNO;