当前的语句只能统计每个单号的合计数。SELECT b.flow_no, a.branch_name,
sum(distinct CASE WHEN CONVERT(VARCHAR(6), b.oper_date,112)='201403'THEN 1 END)[2014年3月份单号总计]
FROM dbo.pos_t_payflow b,bi_t_branch_info a where b.oper_date>= '2014-03-01 00:00:00'
And b.oper_date<= '2014-03-01 23:59:59' and a.branch_no=b.branch_no
group by
b.flow_no,a.branch_name,b.oper_date 现在还是不能统计相应月份所有单号的汇总数。
sum(distinct CASE WHEN CONVERT(VARCHAR(6), b.oper_date,112)='201403'THEN 1 END)[2014年3月份单号总计]
FROM dbo.pos_t_payflow b,bi_t_branch_info a where b.oper_date>= '2014-03-01 00:00:00'
And b.oper_date<= '2014-03-01 23:59:59' and a.branch_no=b.branch_no
group by
b.flow_no,a.branch_name,b.oper_date 现在还是不能统计相应月份所有单号的汇总数。
解决方案 »
- 求sql
- 我把access的表导入到sql server,access中主键是autonumber类型,sql server中应该int类型,属性identity(1,1)才对,但identity没有了怎么办?
- dqy文件从sql2005查询数据
- 请问如何比较两天的数据不同?
- 如何更改实例名称
- powerdesigner 是做什么的?
- 有关bcp问题
- sql server的问题,急死了,分数改天奉上
- 如何设计搜索之后,可以在搜索结果内再搜索呢?
- 我设计了一个很“巧妙”的字段个数不定的数据库结构,倾家荡产,希望高手们进来嘲笑我!
- insert into select 插入空字符串的问题
- 通过VBS自动创建ODBC数据源问题
,SUM(CASE WHEN CONVERT(VARCHAR(6),b.oper_date,112)='201403'THEN 1 END)[2014年3月份单号总计]
,SUM(CASE WHEN CONVERT(VARCHAR(6),b.oper_date,112)='201404'THEN 1 END)[2014年4月份单号总计]
,SUM(CASE WHEN CONVERT(VARCHAR(6),b.oper_date,112)='201405'THEN 1 END)[2014年5月份单号总计]
,SUM(CASE WHEN CONVERT(VARCHAR(6),b.oper_date,112)='201406'THEN 1 END)[2014年6月份单号总计]
,SUM(CASE WHEN CONVERT(VARCHAR(6),b.oper_date,112)='201407'THEN 1 END)[2014年7月份单号总计]
,SUM(CASE WHEN CONVERT(VARCHAR(6),b.oper_date,112)='201408'THEN 1 END)[2014年8月份单号总计]
,SUM(CASE WHEN CONVERT(VARCHAR(6),b.oper_date,112)='201409'THEN 1 END)[2014年9月份单号总计]
,SUM(CASE WHEN CONVERT(VARCHAR(6),b.oper_date,112)='201410'THEN 1 END)[2014年10月份单号总计]
,SUM(CASE WHEN CONVERT(VARCHAR(6),b.oper_date,112)='201411'THEN 1 END)[2014年11月份单号总计]
,SUM(CASE WHEN CONVERT(VARCHAR(6),b.oper_date,112)='201412'THEN 1 END)[2014年12月份单号总计]
,SUM(CASE WHEN CONVERT(VARCHAR(6),b.oper_date,112)='201401'THEN 1 END)[2014年1月份单号总计]
,SUM(CASE WHEN CONVERT(VARCHAR(6),b.oper_date,112)='201402'THEN 1 END)[2015年2月份单号总计]
,SUM(CASE WHEN CONVERT(VARCHAR(6),b.oper_date,112)='201403'THEN 1 END)[2015年3月份单号总计]
FROM bi_t_branch_info a
JOIN pos_t_payflow b ON a.branch_no=b.branch_no
GROUP BY a.branch_name你好,我把你的语句执行了一下,数据统计了所有单号,而不是把重复的单号保留1行以及最终统计出来。