0
我正在创建一个POS数据图。我创建MySQL子查询
SELECT DATE_FORMAT(DATE_ADD(DATE(receipts.datenew - INTERVAL (5*60 + 30) MINUTE), INTERVAL (5*60 + 30) MINUTE), '%Y-%m-%d') AS interval_start,
CONVERT(EXTRACTVALUE(PRODUCTS.ATTRIBUTES, '/properties//entry[@key=\"maincat\"]') USING UTF8) AS MAINCAT,
ROUND(SUM(TICKETLINES.PRICE * TICKETLINES.UNITS), -3) AS DAYSALES
FROM TICKETLINES, TICKETS, RECEIPTS, PRODUCTS
WHERE TICKETLINES.PRODUCT = PRODUCTS.ID
AND TICKETLINES.TICKET = TICKETS.ID
AND TICKETS.ID = RECEIPTS.ID
AND TICKETLINES.PRODUCT IS NOT NULL
AND (receipts.datenew >= DATE_SUB(NOW(), INTERVAL 3 MONTH) AND receipts.person > 0)
GROUP BY DATE(receipts.datenew - INTERVAL (5*60 + 30) MINUTE), MAINCAT
ORDER BY interval_start, MAINCAT
我也得到了以下数据:
interval_start MAINCAT DAYSALES
2016-12-31 Drink 45108000
2016-12-31 Food 49791000
2016-12-31 Other 109000
2017-01-01 Drink 14226000
2017-01-01 Food 27425000
2017-01-01 Other 36000
2017-01-02 Drink 20400000
2017-01-02 Food 25648000
2017-01-02 Other 109000
但我需要这种格式:
interval_start Drink Food
2016-12-31 45108000 36000
2016-12-31 49791000 20400000
2016-12-31 109000 25648000
2017-01-01 27425000 109000
2017-01-01 14226000 49791000
我相信一个子查询的答案,但我不能图出来。
在此先感谢。
艾伦
我不明白你如何到达在预期的产出。我想你应该包括一个解释。 –
我认为他希望得到枢轴的结果 – Cherif
谢谢你的回复,我应该更清楚。我正在试图创建一个图表,并且供应商声明要生成折线图,数据需要具有这些列。 TICKETLINES表包含销售项目的价格,销售日期在RECEIPTS中。我的目标是获得每种销售物品每天的销售数据。 虽然我可能会做这个完全错误的。 –