【发布时间】:2016-04-26 15:08:25
【问题描述】:
我正在使用 postgres,我有一个查询来显示两个日期之间的销售代表的一些数据,但我还需要显示那些没有销售的数据,我有这个:
SELECT SALESREP.SALESREPID, COALESCE(SUM(ORDERLINE.QUANTITY),0) AS TOTALSALES, COALESCE(SUM(ORDERLINE.QUANTITY*ORDERLINE.UNITSELLINGPRICE),0) AS TOTALVALUE
FROM SHOPORDER
right JOIN SALESREP ON SALESREP.SALESREPID = SHOPORDER.SALESREPID
left JOIN ORDERLINE ON ORDERLINE.SHOPORDERID=SHOPORDER.SHOPORDERID
WHERE
SHOPORDER.ORDERDATE BETWEEN '2010-01-01' AND '2016-04-30' or SHOPORDER.ORDERDATE is null
GROUP BY SALESREP.SALESREPID
ORDER BY TOTALVALUE desc
它给了我以下结果:
3;7;287.00
2;9;190.88
1;6;147.00
4;1;59.00
5;0;0
但是当我尝试将日期设置为 2017 年时,它只出现在第五行。 有没有办法让所有 5 行都显示为 0 或根本不显示,因为 2017 年没有销售代表有销售?
谢谢
【问题讨论】:
标签: sql postgresql