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
分享到:更多
------解决方案--------------------
试试这个:
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