日期:2014-05-18  浏览次数:20623 次

SQL SERVER 汇总问题
SQL code

SELECT 部门=CASE 
        WHEN GROUPING(部门)=1 THEN '总计'
        WHEN GROUPING(炉号)=1 AND GROUPING(物料名称)=1 and grouping(日期)=1 THEN '部门合计'
        ELSE 部门 END,
    炉号=CASE  
        WHEN GROUPING(物料名称)=1 AND grouping(日期)=1 and GROUPING(炉号)=0 THEN ' 小计'
        WHEN GROUPING(物料名称)=1 AND grouping(日期)=1 and GROUPING(炉号)=1 THEN ''
        ELSE 炉号 END, 
        物料名称=CASE
        WHEN GROUPING(物料名称)=0 THEN 物料名称
        ELSE '' END,日期,sum(总数) as 总数,
FROM #data2 
GROUP BY 部门,炉号,物料名称,日期 WITH rollup



以车间和炉号分别作小计,最后以车间合计 需要显示日期 ,如果在上面的日期相关的代码段都删掉就是正确的。我现在想加入日期字段就总是 会有重复的行,怎么写好呢??



------解决方案--------------------
select ...,max(日期) 日期,...
from ...
group by .... 这里把日期去掉