我有这个查询。
SELECT
FACTORY,
SUBSTR(dt,1,20 ) AS 'DATE',
SUM(count_a) AS 'PRODUCT A',
SUM(count_b) AS 'PRODUCT B',
SUM(count_a + count_b) AS 'TOTAL'
FROM LIST
WHERE DATE BETWEEN '2018-12-01' AND '2018-12-05'
GROUP BY COUNTRY, SUBSTR(dt,1,20)
ORDER BY COUNTRY, SUBSTR(dt,1,20);
'2018-12-03'没有匹配的数据
那么哪个返回值是这样的
FACTORY | DATE | PRODUCT A | PRODUCT B | TOTAL
-------------------------------------------------------------
Factory_A | 2018-12-01 | 5000| 10000 | 15000
Factory_A | 2018-12-02 | 10000| 5000 | 15000
Factory_A | 2018-12-04 | 10000| 10000 | 20000
Factory_A | 2018-12-05 | 15000| 5000 | 20000
但是我想在没有行符合以上条件时返回0。
像这样
FACTORY | DATE | PRODUCT A | PRODUCT B | TOTAL
----------------------------------------------------------
Factory_A | 2018-12-01 | 5000| 10000 | 15000
Factory_A | 2018-12-02 | 10000| 5000 | 15000
**Factory_A | 2018-12-03 | 0| 0| 0**
Factory_A | 2018-12-04 | 10000| 10000| 20000
Factory_A | 2018-12-05 | 15000| 5000| 20000
有什么方法可以将零放入一列而不是在MYSQL中返回0行吗?
答案 0 :(得分:0)
您可以考虑使用右外部联接。
对于此解决方案,您需要具有保存所有日期的CALENDAR表。
data-jstree='{"checked": true }'