日期:2014-05-18  浏览次数:20671 次

sql 汇总查询问题
表名 a

数量 时间
1000 2012-05-09 14:25:36
1000 2012-05-09 17:25:36
50 2012-05-09 22:25:36
500 2012-05-10 08:35:35
500 2012-05-10 19:35:35

我想通过参数(参数为一组时间类型的字符串 比如'2012-05-08,2012-05-09,2012-05-10,2012-05-11')查询得到下面的结果

null 2012-05-08
2050 2012-05-09
1000 2012-05-10
null 2012-05-11

也就是说 参数 有那些日期就返回这些日期的数量汇总,如果表中没有某一天的记录就返回null或0 都可以
求大神帮帮忙

------解决方案--------------------
将cte作为左连接的基本表,统计的应该很容易了吧!

接上文:

SQL code

select a.col,sum(b.num) as totalnum
from cte a left join tb b on a.col = convert(varchar(10),b.date,120)
group by a.col