--第一步:根据系统编号、列、单价分组求和

select CLBH,DJ,sum(SL) as SL,sum(JE) as JE,Lie

into #TempSZCMX

from #ShouZhiCunMingXi group by Lie, CLBH , DJ order by Lie,CLBH

--第二步:列转行,分组求和

insert into #TempLastResults

SELECT YJ,EJ,

MoJi=(CASE WHEN grouping(YJ) = 1 THEN '0'

WHEN grouping(EJ) = 1 THEN [YJ]

when grouping(MoJi)=1 then [EJ] else MoJi END),

DJ,

sum(SYSL) SYSL,SUM(SYJE) SYJE,SUM(BYSL) BYSL,SUM(BYJE) BYJE,

SUM(CKSL) CKSL,SUM(CKJE) CKJE,SUM(RKSL) RKSL,SUM(RKJE) RKJE

--into #TempLastResults

from

(

select CaiLiaoXinxi_1.SJ AS YJ,CaiLiaoXinxi_1.BH AS EJ,CaiLiaoXinxi.BH AS MoJi,DJ,

sum(case Lie when '上月' then SL else 0 end) as 'SYSL',

sum(case Lie when '上月' then JE else 0 end) as 'SYJE',

sum(case Lie when '本月' then SL else 0 end) as 'BYSL',

sum(case Lie when '本月' then JE else 0 end) as 'BYJE',

sum(case Lie when '出库' then SL else 0 end) as 'CKSL',

sum(case Lie when '出库' then JE else 0 end) as 'CKJE',

sum(case Lie when '入库' then SL else 0 end) as 'RKSL',

sum(case Lie when '入库' then JE else 0 end) as 'RKJE'

from #TempSZCMX inner join CaiLiaoXinxi ON #TempSZCMX.CLBH =CaiLiaoXinxi.XTBH

INNER JOIN CaiLiaoXinxi  CaiLiaoXinxi_1 ON CaiLiaoXinxi.SJ=CaiLiaoXinxi_1.BH

GROUP BY CaiLiaoXinxi.BH ,CaiLiaoXinxi_1.BH,CaiLiaoXinxi_1.SJ,DJ

) as MingXi

group by YJ,EJ,MoJi,DJ with rollup  having grouping(MoJi) =1 union all

select CaiLiaoXinxi_1.SJ AS YJ,CaiLiaoXinxi_1.BH AS EJ,CaiLiaoXinxi.BH AS MoJi,DJ,

sum(case Lie when '上月' then SL else 0 end) as 'SYSL',

sum(case Lie when '上月' then JE else 0 end) as 'SYJE',

sum(case Lie when '本月' then SL else 0 end) as 'BYSL',

sum(case Lie when '本月' then JE else 0 end) as 'BYJE',

sum(case Lie when '出库' then SL else 0 end) as 'CKSL',

sum(case Lie when '出库' then JE else 0 end) as 'CKJE',

sum(case Lie when '入库' then SL else 0 end) as 'RKSL',

sum(case Lie when '入库' then JE else 0 end) as 'RKJE'

--into #TempLastResults

from #TempSZCMX inner join CaiLiaoXinxi ON #TempSZCMX.CLBH =CaiLiaoXinxi.XTBH

INNER JOIN CaiLiaoXinxi  CaiLiaoXinxi_1 ON CaiLiaoXinxi.SJ=CaiLiaoXinxi_1.BH

GROUP BY CaiLiaoXinxi.BH ,CaiLiaoXinxi_1.BH,CaiLiaoXinxi_1.SJ,DJ

--第三步:求最终结果

select MC,GG,DW,DJ,SYSL,SYJE,RKSL,RKJE,CKSL,CKJE,BYSL,BYJE

from #TempLastResults inner join

(

SELECT '0' AS BH,'全部材料总计' AS MC,'' AS GG,'' AS DW

UNION ALL

SELECT BH,(MC+'  合计') AS MC,GG,DW FROM CaiLiaoXinxi WHERE SJ='0' and MJ=0

UNION ALL SELECT BH,(MC+'  小计') AS MC,GG,DW FROM CaiLiaoXinxi WHERE SJ<>'0' AND MJ=0

UNION ALL SELECT BH, MC,GG,DW FROM CaiLiaoXinxi WHERE MJ=1

) AS B on B.BH=#TempLastResults.MoJi and B.BH like @LeiBie order by B.BH

sql材料分级统计及汇总案例参考的更多相关文章

  1. sql简单实用的统计汇总案例参考

    USE [PM]GO/****** 对象:  StoredProcedure [dbo].[LfangSatstics]    脚本日期: 08/24/2013 10:57:48 ******/SET ...

  2. c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程

    c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings n ...

  3. sql 按年月日统计

    1.每年select year(ordertime) 年,sum(Total) 销售合计from 订单表group by year(ordertime) 2.每月select year(orderti ...

  4. 《高性能SQL调优精要与案例解析》一书谈SQL调优(SQL TUNING或SQL优化)学习

    <高性能SQL调优精要与案例解析>一书上市发售以来,很多热心读者就该书内容及一些具体问题提出了疑问,因读者众多外加本人日常工作的繁忙 ,在这里就SQL调优学习进行讨论并对热点问题统一作答. ...

  5. SQL Server 后续去除功能汇总

    原文:SQL Server 后续去除功能汇总 功能更新去除汇总 字段类型 在 Microsoft SQL Server 的未来版本中将删除 ntext.text 和 image 数据类型. 请避免在新 ...

  6. 《高性能SQL调优精要与案例解析》——10.4_SQL语句改写部分文档

    应各位读者要求,现将<高性能SQL调优精要与案例解析>中<10.4 SQL语句改写>部分整理成电子文档,上传至群共享文件(群号:298176197): 或者通过如下链接下载: ...

  7. 《高性能SQL调优精要与案例解析》一书谈主流关系库SQL调优(SQL TUNING或SQL优化)核心机制之——索引(index)

    继<高性能SQL调优精要与案例解析>一书谈SQL调优(SQL TUNING或SQL优化),我们今天就谈谈各主流关系库中,占据SQL调优技术和工作半壁江山的.最重要的核心机制之一——索引(i ...

  8. sql之分段统计

    sql之分段统计 需求:获取一个县所有家庭人数在1-2人,3-4人,5-6人,6人以上的家庭数的数组 思路:通过CASE WHEN 将 CBFCYSL分组,然后统计数据条数. 语句: SELECT T ...

  9. SQL Server一个特殊的阻塞案例分析2

    最近发现一个非常奇怪的阻塞问题,如下截图所示(来自监控工具DPA),会话583被会话1036阻塞,而且阻塞发生在tempdb,被阻塞的SQL如下截图所示,会话等待类型为LCK_M_S 因为DPA工具不 ...

随机推荐

  1. android获取ip和本机的物理地址

    <span style="font-size:18px;">/** * 获取ip * * @return */ public static String getLoca ...

  2. 【Android先进】我们为什么要创建Activity基类Activity什么是一般的基类方法

    今天,它可以被视为只是基本完成了其首个商业项目,在发展过程中,风格,然而随着工作经验的积累.最终開始慢慢的了解到抽象思想在面向对象编程中的重要性,这一篇简单的介绍一下我的一点收获. 首先,在如今的项目 ...

  3. 《学习opencv》笔记——矩阵和图像处理——cvAnd、cvAndS、cvAvg and cvAvgSdv

    矩阵和图像的操作 (1)cvAnd函数 其结构 void cvAnd( //将src1和src2按像素点取"位与运算" const CvArr* src1,//第一个矩阵 cons ...

  4. thinkphp学习笔记8—命名空间

    原文:thinkphp学习笔记8-命名空间 新版本(3.2)中采用命名空间的方式定义和加载类库文件,解决多个模块之间的冲突问题,并实现了更加高效的自动加载机制. 需要给类库定义所在的命名空间,命名空间 ...

  5. JQuery之初探

    软考过后又进入了紧张的B/S学习阶段,因为自己的进度比較慢,所以更要加进学习.如今就来总结下JQuery的一些基础知识: JQuery定义 jQuery是一套跨浏览器的JavaScript库,简化HT ...

  6. Java数据结构与算法(21) - ch09红黑树(RB树)

    红-黑规则1. 每一个节点不是红色的就是黑色的2. 根总是黑色的3. 如果节点是红色的,则它的子节点必须是黑色的:如果节点是黑色的,其子节点不是必须为红色.4. 从根到叶节点或空子节点的每条路径,必须 ...

  7. 持续集成Jenkins + robot framework + git

    Jenkins + robot framework + git持续集成 一.Jenkins安装插件 进入系统管理—插件管理—可选插件下安装以下插件Git Client Plugin.GIT plugi ...

  8. javascript系列之DOM(二)

    原文:javascript系列之DOM(二) 原生DOM扩展 我们接着第一部分来说,上文提到了两种常规的DOM操作:创建文档片段和遍历元素节点.我们知道那些雨后春笋般的库,有很大一部分工作就是提供了一 ...

  9. 重写ArcGIS的TiledMapServiceLayer呼叫世界地图图块

    require(["esri/layers/TiledMapServiceLayer"], function () {     dojo.declare("com.Str ...

  10. WebService返回DataTable问题

    今天做项目时,想在WebService中返回DataTable,在单位没成功,看网上有人说datable在.net1.1中是没有序列化的,不能直接在webservice中返回,可以返回dataset. ...