select  gh  ,xm  ,
max(A.bz) as bz ,
max(A.jcz) as jcz ,
max(A.dl) as dl ,
max(A.czzx) as czzx ,
max(A.jt) as jt ,
max(A.dt) as dt ,
max(A.jl) as jl ,
max(A.zycqbw) as zycqbw ,
max(A.zc) as zc ,
max(A.zxqbw) as zxqbw ,
max(A.lczx) as lczx
from(
select gh ,xm ,
CASE bgzlmc when '编组'then sum(cworkcount) else 0 end as bz ,
CASE bgzlmc when '解车组'then sum(cworkcount) else 0 end as jcz ,
CASE bgzlmc when '代量'then sum(cworkcount) else 0 end as dl ,
CASE bgzlmc when '车组转线'then sum(cworkcount) else 0 end as czzx ,
CASE bgzlmc when '解体'then sum(cworkcount) else 0 end as jt ,
CASE bgzlmc when '倒途'then sum(cworkcount) else 0 end as dt ,
CASE bgzlmc when '禁溜'then sum(cworkcount) else 0 end as jl ,
CASE bgzlmc when '作业车取摆位'then sum(cworkcount) else 0 end as zycqbw ,
CASE bgzlmc when '转场'then sum(cworkcount) else 0 end as zc ,
CASE bgzlmc when '站修取摆位'then sum(cworkcount) else 0 end as zxqbw ,
CASE bgzlmc when '列车转线'then sum(cworkcount) else 0 end as lczx
from t_dcd_confirmworkdetail left join t_dcd_personworkdetails
on t_dcd_confirmworkdetail.planid = t_dcd_personworkdetails.planid
left join t_dcd_bgzl on t_dcd_confirmworkdetail.bgzlid =t_dcd_bgzl.id
where 1=1 and ctime between '2018-09-01' and '2018-09-19' group by gh, xm,bgzlmc )A group by gh,xm

  转换前数据:

转换后数据:

sql行转列实例的更多相关文章

  1. Ms sql行转列。汇总

    SQL行转列汇总 PIVOT 用于将列值旋转为列名(即行转列),在 SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT 的一般语法是:PIVOT(聚合函数(列) FOR 列 ...

  2. sql 行转列总结

    原文:sql 行转列总结 PIVOT UNPIVOT的用法 PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT的一般语法是:PI ...

  3. SQL 行转列和列转行

    SQL 行转列和列转行 行列互转,是一个经常遇到的需求.实现的方法,有case when方式和2005之后的内置pivot和unpivot方法来实现. 在读了技术内幕那一节后,虽说这些解决方案早就用过 ...

  4. sql 行专列 列转行 普通行列转换

    转载:http://www.cnblogs.com/newwind521/archive/2010/11/25/1887203.html sql 行专列 列转行 普通行列转换 /* 标题:普通行列转换 ...

  5. sql 行转列 PIVOT 列转行 UNPIVOT

    原文:sql 行转列 PIVOT 列转行 UNPIVOT 一: 现有表一(t_table1),想转为表二(t_table2)的格式. 表一: 年 公司 收入 2013 公司1 12 2013 公司2 ...

  6. SQL行转列 (及EAV模型获取数据)

    参考文章: http://www.williamsang.com/archives/1508.html 情景简介 学校里面记录成绩,每个人的选课不一样,而且以后会添加课程,所以不需要把所有课程当作列. ...

  7. SQL行转列,列转行

    SQL 行转列,列转行 行列转换在做报表分析时还是经常会遇到的,今天就说一下如何实现行列转换吧. 行列转换就是如下图所示两种展示形式的互相转换 行转列 假如我们有下表: SELECT * FROM s ...

  8. Sql 行转列问题总结

    行转列问题总结 1.行转列 ---1.最简单的行转列/* 问题:假设有张学生成绩表(tb)如下:姓名 课程 分数张三 语文 74张三 数学 83张三 物理 93李四 语文 74李四 数学 84李四 物 ...

  9. SQL行转列汇总

    PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P ...

随机推荐

  1. 操作循环的关键字switch,break,return的应用及区别

    break 使用break结束循环  break可以终止循环 和 switch语句的运行; break用于结束一个循环,即跳出循环体,执行循环体之后的代码: switch 使用continue提前结束 ...

  2. 玄学bug(1)---注释里面的中文会报错

    有时候正常没有问题的程序会报错,可能跟注释里面的中文也有关系 with open('photo1.jpg','rb') as file: data = file.read() #print(data) ...

  3. Linux内核入门到放弃-锁与进程间通信-《深入Linux内核架构》笔记

    内核锁机制 对整数的原子操作 <asm-arch/atomic.h> typedef struct {volatile int counter;} atomic_t; //初始化只能借助于 ...

  4. Generative Adversarial Nets[Pre-WGAN]

    本文来自<towards principled methods for training generative adversarial networks>,时间线为2017年1月,第一作者 ...

  5. 基于webpack+react+antd 项目构建

    工欲善其事必先利其器,学习React也是如此. 下面分享一篇基于webpack+react+antd 项目构建的好文章, https://blog.hduzplus.xyz/articles/2017 ...

  6. 十分钟学会Java8:lambda表达式和Stream API

    Java8 的新特性:Lambda表达式.强大的 Stream API.全新时间日期 API.ConcurrentHashMap.MetaSpace.总得来说,Java8 的新特性使 Java 的运行 ...

  7. Spring Boot 2 (十):Spring Boot 中的响应式编程和 WebFlux 入门

    Spring 5.0 中发布了重量级组件 Webflux,拉起了响应式编程的规模使用序幕. WebFlux 使用的场景是异步非阻塞的,使用 Webflux 作为系统解决方案,在大多数场景下可以提高系统 ...

  8. eclipse maven设置

    eclipse 4.4以上版本集成了maven,只需配置一下即可,如果你的eclipse 没有安装maven,可以参考这个文章.http://marketplace.eclipse.org/conte ...

  9. 字典 dict

    # --------------------------我愿作一叶小舟,驶向远方.----------------------------------------------------------- ...

  10. Achievements

    看了Suma,觉得懂了85%以上. 两个月可以学这么多.方法是不懂的就学就行了. 最近学了:字符串,网络流,线段树,斯特林反演,多项式与生成函数,一些数论等.