sql在查询之间没有显示空值

时间:2016-04-26 15:08:25

标签: sql postgresql

我正在使用postgres,我有一个查询显示两个日期之间的salesrep的一些数据,但我还需要显示没有销售的那些,我有这个:

    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年没有salesrep有销售?

由于

1 个答案:

答案 0 :(得分:0)

听起来我觉得你正在使用CASE声明:

http://www.postgresql.org/docs/current/static/functions-conditional.html

示例:

_AFHTTPRequestOperation