首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql小计合计有关问题

2013-12-05 
sql小计合计问题SELECTCAST(s.Year AS VARCHAR) +年+CAST(s.Month AS VARCHAR)+月,tmp.quarterFROMdbo

sql小计合计问题
SELECT  CAST(s.Year AS VARCHAR) +'年'+
        CAST(s.Month AS VARCHAR)+'月',
        tmp.quarter
FROM    dbo.s_SalesBudget s INNER JOIN dbo.p_tmp tmp ON s.Month=tmp.month
WHERE   YEAR = '2009'
GROUP BY s.Month,YEAR,tmp.quarter
ORDER BY s.Month 
根据quatrter进行小计,最后所以合计
year           quatrter
2009年1月1
2009年2月1
2009年3月1
2009年4月2
2009年5月2
2009年6月2
2009年7月3
2009年8月3
2009年9月3
2009年10月4
2009年11月4
2009年12月4
[解决办法]

引用:
Quote: 引用:

对了,你是想显示2列,一列是年月,一列是季度,然后再是季度的小计,比如这样:

年月      季度
2013年1月 1
2013年2月 1
2013年3月 1
 null     1


是这样吗

时   间

2009年1月
2009年2月
2009年3月
一季度汇总
2009年4月
2009年5月
2009年6月
二季度汇总
2009年7月
2009年8月
2009年9月
三季度汇总
2009年10月
2009年11月
2009年12月
四季度汇总
2009年汇总
想要这种格式的,不知道怎么写


试试这个:
SELECT  CASE WHEN GROUPING(tmp.quarter)  <> 1 THEN CAST(tmp.quarter as varchar)+'季度小计'
             ELSE CAST(s.Year AS VARCHAR) + '年' + CAST(s.Month AS VARCHAR)
                  + '月'
        END ,
        tmp.quarter
FROM    dbo.s_SalesBudget s
        INNER JOIN dbo.p_tmp tmp ON s.Month = tmp.month
WHERE   YEAR = '2009'
GROUP BY 
        YEAR ,
        tmp.quarter,s.Month 
        WITH ROLLUP
having GROUPING(year) = 0
ORDER BY s.Month 

热点排行