0

次のクエリを mysql エディタで実行すると、jasper レポートで使用しているときに「グループの使用が無効です」というエラーが発生しますが、エラーは発生しませんか? クエリの何が問題になっていますか?

SELECT CUSTOMERS.TAXID, 
CUSTOMERS.NAME AS CUSTOMER, 
CATEGORIES.NAME AS CATEGORY,
PRODUCTS.REFERENCE, 
PRODUCTS.NAME AS PRODUCT, 
SUM(TICKETLINES.UNITS) AS UNIT, 
SUM(TICKETLINES.UNITS * TICKETLINES.PRICE) AS TOTAL, 
SUM(TICKETLINES.UNITS * TICKETLINES.PRICE) / SUM(TICKETLINES.UNITS) AS MEANPRICE,
PRODUCTS.PRICEBUY AS BUYPRICE,
((SUM(SUM(TICKETLINES.PRICE) / SUM(TICKETLINES.UNITS)) - PRODUCTS.PRICEBUY) * TICKETLINES.UNITS) AS PROFITLOSS
FROM TICKETS 
LEFT OUTER JOIN CUSTOMERS ON TICKETS.CUSTOMER = CUSTOMERS.ID, TICKETLINES 
LEFT OUTER JOIN PRODUCTS ON TICKETLINES.PRODUCT = PRODUCTS.ID 
LEFT OUTER JOIN CATEGORIES ON PRODUCTS.CATEGORY = CATEGORIES.ID
WHERE RECEIPTS.ID = TICKETS.ID AND 
TICKETS.ID = TICKETLINES.TICKET AND 
CATEGORIES.ID = PRODUCTS.CATEGORY
GROUP BY CUSTOMERS.ID, CATEGORIES.ID, PRODUCTS.ID
ORDER BY CUSTOMERS.NAME, 
CATEGORIES.NAME, 
PRODUCTS.NAME
4

2 に答える 2

0

SELECT グループ内にすべてのグループ フィールドが必要です。

SELECT CUSTOMERS.ID, CATEGORIES.ID, PRODUCTS.ID,CUSTOMERS.TAXID, 
CUSTOMERS.NAME AS CUSTOMER, 
CATEGORIES.NAME AS CATEGORY,
PRODUCTS.REFERENCE, 
PRODUCTS.NAME AS PRODUCT, 
SUM(TICKETLINES.UNITS) AS UNIT, 
SUM(TICKETLINES.UNITS * TICKETLINES.PRICE) AS TOTAL, 
SUM(TICKETLINES.UNITS * TICKETLINES.PRICE) / SUM(TICKETLINES.UNITS) AS MEANPRICE,
PRODUCTS.PRICEBUY AS BUYPRICE,
((SUM(SUM(TICKETLINES.PRICE) / SUM(TICKETLINES.UNITS)) - PRODUCTS.PRICEBUY) * TICKETLINES.UNITS) AS PROFITLOSS
FROM TICKETS 
LEFT OUTER JOIN CUSTOMERS ON TICKETS.CUSTOMER = CUSTOMERS.ID, TICKETLINES 
LEFT OUTER JOIN PRODUCTS ON TICKETLINES.PRODUCT = PRODUCTS.ID 
LEFT OUTER JOIN CATEGORIES ON PRODUCTS.CATEGORY = CATEGORIES.ID
WHERE RECEIPTS.ID = TICKETS.ID AND 
TICKETS.ID = TICKETLINES.TICKET AND 
CATEGORIES.ID = PRODUCTS.CATEGORY
GROUP BY CUSTOMERS.ID, CATEGORIES.ID, PRODUCTS.ID
ORDER BY CUSTOMERS.NAME, 
CATEGORIES.NAME, 
PRODUCTS.NAME
于 2013-05-25T17:31:57.767 に答える