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,
日期=case
WHEN GROUPING(物料名称)=0 THEN max(日期),
END,
sum(总数) as 总数,
FROM #data2
GROUP BY 部门,炉号,物料名称,日期 WITH rollup
以车间和炉号分别作小计,最后以车间合计 需要显示日期,但是这么处理的话,就会让车间、炉号、物料相等日期不相等的时候将记录合并,日期取最大值,可是我还是想选择日期。要是不用这么处理的话就会产生重复行。。各位帮我一下。。谢谢
这个我知道,但是会在每一条记录下面多出来一条记录,我就是为了不想出现多余的字段我才是这样弄的。。
如果把日期group by中,而且日期那一列就是直接写成日期,那个多余出来的一行,结果就是按日期也进行的一次汇总吧