原始数据:

01 RD21 6495.4114
02 RD21 87.436
04 RD21 101.7184
05 RD21 1.5384
01 RD25 7803.3037
09 RD25 106.8375
01 RD33 20036.4738
02 RD33 2179.80
03 RD33 159.6858
05 RD33 83.8036
06 RD33 82.59
07 RD33 290.24
08 RD33 560.1575
09 RD33 0.00

select c.*,a.amountmoney from (
select rdno,
max(case mondate when '01' then amount else 0 end) as "01",
max(case mondate when '02' then amount else 0 end) as "02",
max(case mondate when '03' then amount else 0 end) as "03",
max(case mondate when '04' then amount else 0 end) as "04",
max(case mondate when '05' then amount else 0 end) as "05",
max(case mondate when '06' then amount else 0 end) as "06",
max(case mondate when '07' then amount else 0 end) as "07",
max(case mondate when '08' then amount else 0 end) as "08",
max(case mondate when '09' then amount else 0 end) as "09",
max(case mondate when '10' then amount else 0 end) as "10",
max(case mondate when '11' then amount else 0 end) as "11",
max(case mondate when '12' then amount else 0 end) as "12"
from ( select datename(mm,operdate) as mondate,rdno,sum(summoney) as amount
from fp_pr_materialdetail with(nolock)
where operdate<='2018-12-31' and operdate>='2018-01-01'
group by datename(mm,operdate),rdno
) b group by rdno) c
left join (select rdno,sum(amount) as amountmoney from (
select rdno,sum(summoney) as amount
from fp_pr_materialdetail with(nolock)
where operdate<='2018-12-31' and operdate>='2018-01-01'
group by rdno
) k group by rdno) a on a.rdno=c.rdno

结果数据:

RDno 01       02       03     04       05       06    07     08     09     10  11   12

RD21 6495.4114 87.436 0.00 101.7184 1.5384 0.00 0.00 0.00 0.00 0.00 0.00 0.00 6686.1042
RD25 7803.3037 0.00 0.00 0.00 0.00 0.00 0.00 0.00 106.8375 0.00 0.00 0.00 7910.1412
RD33 20036.4738 2179.80 159.6858 0.00 83.8036 82.59 290.24 560.1575 0.00 0.00 0.00 0.00 23392.7507

sql server按月份,按项目号展开表格的更多相关文章

  1. 采用Opserver来监控你的ASP.NET项目系列(二、监控SQL Server与Asp.Net项目)

    前言 之前有过2篇关于如何监控ASP.NET core项目的文章,有兴趣的也可以看看. 今天我们主要来介绍一下,如何使用Opserver监控我们的SQL Server 和ASP.NET项目的异常监控 ...

  2. SQL Server 2008 删除数据库帐号失败问题

    SQL Server 2008 中单独为一个项目建立了一个账号zdhsa,结果发现无法删除. 问题:删除zdhsa失败. 解决:首先从"安全性"-"架构"中删除 ...

  3. SQL Server附加数据库失败错误号:5120的解决办法

    附加数据库时出现附加数据库失败的错误,错误号是5120,已经两次遇到这种问题了.今天写一下解决办法. 有两个方法,很简单: 1.设置mdf文件所在文件夹的权限,在文件夹上右击——属性——安全,如图所示 ...

  4. SQL Server 存储过程自定义生成ID号

    * FROM sys.tables WHERE name=N'EmployeeNo_Identity') DROP TABLE EmployeeNo_Identity GO CREATE TABLE ...

  5. 【SQL server基础】手动创建数据库和表格

    use master go if exists(select * from sysdatabases where name='learning') drop database learning go ...

  6. VS 2017 Web项目需要安装Sql Server 2012 Express LocalDB问题

    最近在做mvc5的练习 ,结果到了数据库连接这一阶段就出现了问题,开始我以为<add name="MovieDBContext" connectionString=" ...

  7. 项目升级-oracle改版sql server问题点汇总

    目录 1.符号使用 1.1 :->@ 1.2 mod()->% 1.3 ||->+ 1.4 off等表别名 1.5 columnnum=1->top 1 1.6 minus-& ...

  8. SQL SERVER 作业浅析

    作业介绍 SQL SERVER的作业是一系列由SQL SERVER代理按顺序执行的指定操作.作业可以执行一系列活动,包括运行Transact-SQL脚本.命令行应用程序.Microsoft Activ ...

  9. Sql Server使用正则表达式

    近日因项目需求,需要在sql server中用到正则表达式,因Sql Server本身并不支持正则表达式,需要用到Clr函数. 在此记录一下步骤,与大家共享,虽然写的是原创,但有参考网上的文章. 1. ...

随机推荐

  1. java 数字左补齐0

    NumberFormat nf = NumberFormat.getInstance();        //设置是否使用分组        nf.setGroupingUsed(false);    ...

  2. GWAS群体分层校正,该选用多少个PCA

    前言 关于选用多少个PCA做群体分层校正,各大期刊并没有一个统一的说法. 故做了如下综述. 1 随心所欲型,想选多少就选多少 PCA想选多少就选多少,这个真的不是开玩笑.有文献出处有真相! 比如下面文 ...

  3. mkdir(): Permission denied

    记录下,凡是遇到此类问题都是无权限导致. 根据不同场景,需要在不同的文件夹设置不同的权限. 例如,图片相关, 在php中,首先看下 配置php.ini的文件上传是否开启(file_uploads = ...

  4. Flink 核心技术浅析(整理版)

    1. Flink简介 Apache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个Flink流执行引擎(streaming dataflow engine),提供支 ...

  5. 暑假第二弹:基于docker的hadoop分布式集群系统的搭建和测试

    早在四月份的时候,就已经开了这篇文章.当时是参加数据挖掘的比赛,在计科院大佬的建议下用TensorFlow搞深度学习,而且要在自己的hadoop分布式集群系统下搞. 当时可把我们牛逼坏了,在没有基础的 ...

  6. 五十四、linux 编程——TCP 编程模型

    54.1 编程模型介绍 54.1.1 TCP 客户端服务器编程模型 客户端调用序列 调用 socket 函数创建套接字 调用 connect 连接服务器端 调用 I/O 函数(read/write) ...

  7. 用eclipse部署tomcat时出现异常:java.lang.IllegalArgumentException

    用eclipse部署tomcat时出现异常:java.lang.IllegalArgumentException: Invalid 'log4jConfigLocation' parameter: c ...

  8. Android系统目录结构详解

    Android系统基于linux内核.JAVA应用,算是一个小巧精致的系统.虽是开源,但不像Linux一般庞大,娇小可亲,于是国内厂商纷纷开发出自己基于Android的操作系统.在此呼吁各大厂商眼光放 ...

  9. webstorm破解安装版本

    破解链接:https://blog.csdn.net/xiaoxiong_jiaxin/article/details/83106915 方法一:获取注册码 打开网址(http://idea.lany ...

  10. UE4命令行使用,解释

    命令行在外部 从命令行运行编辑项目 1 导航到您的[LauncherInstall][VersionNumber]\Engine\Binaries\Win64 目录中. 2 右键单击上 UE4Edit ...