Kesalahannya cukup jelas. Kolom yang tidak diagregasi di SELECT
kueri agregasi harus cocok dengan kunci. Dalam kueri Anda, BILLDATE
tidak diagregasi dan bukan kunci.
Perbaikan sederhananya adalah:
SELECT BILLNO, BILLDATE,
SUM(QTY) AS SUMQTY,
SUM(AMOUNT) AS SUMAMOUNT
FROM PURCHASE
GROUP BY BILLNO, BILLDATE;
Jika Anda hanya menginginkan satu baris per BILLNO
-- atau jika Anda mengetahui BILLDATE
adalah sama untuk semua BILLNO
-- maka Anda dapat menggunakan fungsi agregasi sebagai gantinya:
SELECT BILLNO, MAX(BILLDATE) as BILLDATE,
SUM(QTY) AS SUMQTY,
SUM(AMOUNT) AS SUMAMOUNT
FROM PURCHASE
GROUP BY BILLNO;