我的结果集如下:
fullDate service Monthlybilled
-----------------------------------------------------
2015-08-01 wash car 300.00
2015-10-01 brake test 500.00
2015-12-01 oil change 200.00
我需要展示另一张,例如:
fullDate service Monthlybilled
-----------------------------------------------------
....
2015-07-01 none 0.00
2015-08-01 wash car 300.00
2015-09-01 none 0.00
2015-10-01 brake test 500.00
2015-11-01 none 0.00
2015-12-01 oil change 200.00
2016-01-01 none 0.00
...
即对于那些没有“检测到”事件的月份,我需要添加一行 上面写着“无”和“0.00”
请问有什么建议吗? 谢谢
最佳答案
有 3 种方法可以做到这一点:
- 编写一个查询,生成该范围内的所有日期(如 this SO answer 中所述),并对其执行
LEFT JOIN
以获取所有条目为零的日期。 - 创建一个维护所有日期的日历表,并将其与当前查询
LEFT JOIN
以获取所有记录。 - 在应用程序/服务层中编写逻辑,用 0 值填充缺失的日期。
我推荐选项 3。
关于mysql - 添加值为 0 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43330431/