Lỗi là khá rõ ràng. Các cột chưa được tổng hợp trong SELECT của một truy vấn tổng hợp cần phải khớp với các khóa. Trong truy vấn của bạn, BILLDATE không được tổng hợp và nó không phải là khóa.
Cách khắc phục đơn giản là:
SELECT BILLNO, BILLDATE,
SUM(QTY) AS SUMQTY,
SUM(AMOUNT) AS SUMAMOUNT
FROM PURCHASE
GROUP BY BILLNO, BILLDATE;
Nếu bạn chỉ muốn một hàng cho mỗi BILLNO - hoặc nếu bạn biết rằng BILLDATE giống nhau cho tất cả BILLNO - thì bạn có thể sử dụng một hàm tổng hợp để thay thế:
SELECT BILLNO, MAX(BILLDATE) as BILLDATE,
SUM(QTY) AS SUMQTY,
SUM(AMOUNT) AS SUMAMOUNT
FROM PURCHASE
GROUP BY BILLNO;