1.根据分类

select
    code,
    proname,
    amt_jbgz,
    
    ...
from bgt_extable
pivot ( sum(nvl(金额,0)) for 分类字段 in(
    0 as amt_jbgz,--基本工资
    1 as amt_jj,--奖金
    ...

))

2.添加后缀(多个行转列)

select
    code,
    proname,
    amt_jbgz_shb,
    amt_jbgz_shh,
    amt_jbgz_yss,

...
from bgt_extable
pivot ( sum(nvl(je_shb,0)) as shb,sum(nvl(je_shh,0)) as shh,sum(nvl(je_yss)) as yss for 分类字段 in(
    0 as amt_jbgz,--基本工资
    1 as amt_jj,--奖金
    ...

))

3.单一多条件

select
    code,
    proname,
    amt_jbgz_shb,
    amt_jbgz_shh,
    amt_jbgz_yss,
    amt_qtsr_shb,
    amt_qtsr_shh,
    amt_qtsr_yss

...
from bgt_extable
pivot ( sum(nvl(je_shb,0)) as shb,sum(nvl(je_shh,0)) as shh,sum(nvl(je_yss)) as yss for 分类字段 in(
    0 as amt_jbgz,--基本工资
    1 as amt_jj,--奖金
    3,4,5,99 as amt_qtsr--其他收入

...

))

4.非单一复杂条件

这个用的是最原始的 case when/group by

select
dwid,
sfbn,
sum(case when zjlx=35 and sfbn = 1 then amt_annual_shb else 0 end) amt_bn_jfbk_shb,--经费拨款
sum(case when zjlx=35 and sfbn = 1 then amt_annual_shh else 0 end) amt_bn_jfbk_shh,
sum(case when zjlx=35 and sfbn = 1 then amt_annual_yss else 0 end) amt_bn_jfbk_yss...from basedata
group by dwid,sfbn

Oracle行转列 pivot函数 常见用法相关推荐

  1. Oracle 行转列 pivot函数基本用法

    2018年9月30日22点,眼看着就10月份了,回头看下,8月份就写了一篇博客,9月一篇都没写,想着还是得续一续. 刚好前几天,帮一个群友处理了一个关于Oracle中行转列,根据查询中有的项目,动态转 ...

  2. Oracle之行转列pivot函数

    文章目录 方法一: Oracle行转列pivot函数 方法二:使用MAX DECODE 实现 方法一: Oracle行转列pivot函数 语法:pivot(任一聚合函数 for 需要转列的值所在列名 ...

  3. unpivot用法 oracle10g,Oracle 行转列pivot 、列转行unpivot 的Sql语句总结(转)

    多行转字符串 这个比较简单,用||或concat函数可以实现 1 select concat(id,username) str from app_user 2 3 select id||usernam ...

  4. oracle 按旬统计并且每月小计 行转列 PIVOT函数 与分组小计 ROLLUP 函数

    数据库版本:oralce  11g 表名WM_TD_WATER_DAILY 结构如下,我把没用到的字段隐藏了,全放出来不太好哈. MONITOR_ID为BI_TB_MONITOR_BI的ID ,用于关 ...

  5. oracle行转列pivot使用详解,SQL基础教程之行转列Pivot函数

    前言 未来的一个月时间中,会总结一系列SQL知识点,一次只总结一个知识点,尽量说明白,下面来说说SQL 中常用Pivot 函数(这里是用的数据库是SQLSERVER,与其他数据库是类似的,大家放心看就 ...

  6. Oracle 行转列pivot 、列转行unpivot 的Sql语句总结

    多行转字符串 这个比较简单,用||或concat函数可以实现 [sql] view plaincopy print? select concat(id,username) str from app_u ...

  7. mysql行转列sql函数_SQL之行转列Pivot函数

    未来的一个月时间中,会总结一系列SQL知识点,一次只总结一个知识点,尽量说明白,下面来说说SQL 中常用Pivot 函数(这里是用的数据库是SQLSERVER,与其他数据库是类似的,大家放心看就好) ...

  8. Oracle行转列pivot

    案例一: 按天汇总学生每天学习时长 create table stu (day VARCHAR2(20),name VARCHAR2(20),len NUMBER ); INSERT INTO stu ...

  9. mysql行转列sql函数_sql动态行转列的两种方法

    第一种方法: 代码如下: select *from ( select Url,case  when  Month=01 then  '1月' when  Month=02 then '2月' when ...

最新文章

  1. python 直接if判断和is not None的区别
  2. cmake用法及常用命令总结(全)
  3. 【原创】C# war3 巨魔精灵 minimap
  4. 经过5年的娱乐功能,编码传奇MPJ踏上了他的下一个大旅程
  5. ROS笔记(13) 记录与回放数据
  6. java concurrent 框架_Java Concurrent 框架图
  7. C语言排序方法------堆排序
  8. 如何清空_回收站删除的文件怎么恢复?回收站清空如何恢复?
  9. 【福利派送】高质量AI书籍又免费派送啦
  10. laravel框架操作数据库
  11. 自训练和半监督学习介绍
  12. 移动端app跳转百度地图
  13. 提高数据分析思维能力的三大方法
  14. 服务器连接异常系统无法登录,Win10系统电脑无法登录LOL提示服务器连接异常的原因及解决方法...
  15. 1. 系统符号与正则符号
  16. Android 多通道录音笔记
  17. 如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。//现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等
  18. KDD2022推荐系统论文集锦
  19. H265编码 SPS分析
  20. 无领导小组讨论案例及其分析1

热门文章

  1. 24个节气之美,每一个都如诗如画!
  2. 解决socket交互的10048和10055错误的总结
  3. amd 服务器cpu型号怎么看,Intel还是AMD?10个问题看懂CPU该如何选
  4. 戴尔t430服务器性能,不止双路E5 这款塔式服务器有点强
  5. 谈编码与Unicode标准
  6. ionic4.x仿京东 - 10.3.4.收货地址-修改默认收货地址、显示默认收货地址
  7. 服务器温度显示软件,服务器温度监控软件
  8. 潜龙号开启水下机器人_国之重器:“潜龙二号”,中国最先进水下机器人
  9. 使用插件(layui.css)对原本样式的影响
  10. 微软为何要收购诺基亚?