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