如何在 mydate 之间查询 SUM 字段总计和 WHERE 但行仍然存在,只需将值总计更改为 0。请查看我的解释如下:
我有两个表,名称是category_result和result_values。
以下是表category_result的结构和值:
id name
1 One
2 Two
3 Three
4 Four
5 Five
以下是表result_values的结构和值:
id_category_value mydate total
1 2013-04-24 2
2 2013-04-25 3
3 2013-05-10 1
4 2013-06-20 8
5 2013-06-21 3
5 2013-06-22 2
5 2013-06-23 2
我现在的查询是:
SELECT c.name, SUM(rv.total) as total_all FROM category_result c
LEFT JOIN result_values rv ON c.id=rv.id_category_value
WHERE rv.mydate >= '2013-05-01' AND rv.mydate <= '2013-07-01'
GROUP BY c.id
并会得到如下结果:
name total_all
Three 1
Four 8
Five 7
但我想要的不是这样,我想要的结果大致是这样的:
name total_all
One 0
Two 0
Three 1
Four 8
Five 7
所以我想要一个名字仍然存在,但是如果上面的 mydate 的位置,那么名字 One 和 Two 没有按 mydate 列出,所以我希望行中的值 total_all 为 null 或 0。
提前致谢。