首先:你这个表结构设计的就太不合理, 数据量大的时候查询将非常耗时耗资源。 你的问题是否可以这样理解?输入一个日期, 将改日期下A B C的数量(如果存在记录)求和输出?但是这样问题就出来了, 也就是说你只能每次查询一个日期下的数量总和, 而不能按日期来汇总数量总和, 所以说设计的结构不合理!
其次:你要的这个功能, 可以实现。 思路: 必定要用拼接语句, 动态查询出所有存在的唯一日期, 逐个日期查询A B C的数量, 求和!这样查询出来的就是按日期汇总的数量了。
不知道你是否理解?
第2个回答 2013-09-05
这样 declare @sdate date select @sdate='2013/9/5' select SUM( case when A日期=@sdate then A数量 else 0 end + case when B日期=@sdate then B数量 else 0 end + case when C日期=@sdate then C数量 else 0 end ) as 总数 from 表名