2013-02-22 97 views
0

我有这样的查询;mysql如果没有记录

select value, date from table 
where date in ('date1','date2','date3','date4','date5') 
group by date 

这只有在给定日期的记录时才给出结果。但是,即使没有给定日期的记录,我也想获得一个“0”值的行。我怎样才能做到这一点?

5 | 02/04/2012 
8 | 02/05/2012 
3 | 02/06/2012 
4 | 02/08/2012 

>

5 | 02/04/2012 
8 | 02/05/2012 
3 | 02/06/2012 
0 | 02/07/2012 
4 | 02/08/2012 
+0

从哪里得到这个日期02/07/2012对于0值的行 – DevelopmentIsMyPassion 2013-02-22 15:01:24

+0

@AshReva这就是我所要求的。获得第一个结果但需要第二个结果。 – milesh 2013-02-23 08:15:02

+0

但你能告诉我,如果记录为0,我应该如何使这个值02/07/2012?它会被硬编码吗? – DevelopmentIsMyPassion 2013-02-23 08:51:49

回答

1

您需要使用日期表,或创建一个临时表的日期。但是,日期表将是您的最佳选择,因为它体积小,效率高。

你也错误地使用GROUP BY。请阅读MySQL Extensions to GROUP BY

相关问题